我正在学习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);
}
这是我试图打开的唯一目的。
提前致谢。
答案 0 :(得分:0)
好吧,我决定从android浏览器中复制粘贴意图过滤器并且它起作用,后来我刚刚开始删除&lt;意图滤光器&gt; ......&lt; /意图滤光器&gt;直到它停止工作,并留下这个,现在它的工作原理:
<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>