2

我正在上一门关于 Android 的课程,我们有一个任务,其中一个是制作一个名为“MyBrowser”的程序,如果另一个程序发送隐式意图,他们提供给我们的程序能够出现在选择器中,我研究过发现了这个:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

<intent-filter>
    <action android:name="andoid.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="http" />         
</intent-filter>

第一个意图过滤器已经在文件中,我已经添加了第二个,但它不起作用,我真的不明白为什么,隐含的意图是这样的:

private void startImplicitActivation() {

    Uri webpage = Uri.parse("http://www.google.com");
    Intent baseIntent = new Intent (Intent.ACTION_VIEW, webpage);

    Intent chooserIntent = Intent.createChooser(baseIntent, "Choose application");

    startActivity(chooserIntent);  
}

这是我试图打开的唯一意图。

提前致谢。

4

1 回答 1

2

好的,我决定从android浏览器复制粘贴意图过滤器并且它工作,后来我开始删除随机集 <intent-filter> ... < /intent-filter> 直到它停止工作并留下这个,现在它起作用了:

<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" />

</intent-filter>

<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
于 2015-02-02T22:58:39.777 回答