【发布时间】:2015-11-08 22:24:58
【问题描述】:
我的目标是创建一个隐式 Intent 并使用 Intent.createChooser() 方法选择用于查看网页的应用程序 有人告诉我,我需要创建一个选择器意图,用于选择要执行的 Activity。
我的第一个问题是为什么我需要 2 个意图?为什么我不能只使用 baseIntent 并将其放在 createChooser() 方法中?
我的第二个问题是为什么我的应用程序没有显示菜单,让我可以选择哪个应用程序打开我的 URL?
是否有人也可以检查我的意图过滤器,看看我是否都得到了它们。
MainActivity.java
static private final String URL = "http://www.google.com";
static private final String TAG = "Lab-Intents";
// For use with app chooser
static private final String CHOOSER_TEXT = "Load " + URL + " with:";
private void startImplicitActivation() {
Log.i(TAG, "Entered startImplicitActivation()");
Uri webpage = Uri.parse(URL);
Intent baseIntent = new Intent(Intent.ACTION_VIEW,webpage);
Intent chooserIntent = null;
startActivity(Intent.createChooser(baseIntent,CHOOSER_TEXT));
}
AndroidManifest.xml
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT"></category>
<category android:name="android.intent.category.BROWSABLE"></category>
<action android:name="android.intent.action.VIEW" />
<data android:mimeType="string"/>
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
【问题讨论】: