我有一个Android应用,应该打开通过电子邮件发送的链接。不过,我只想打开某个网站的链接。我知道打开youTube链接会为用户提供一个对话框,询问是在浏览器中还是在youTube应用程序中打开它,这就是我想要的。在我的Android清单文件中,我有以下意图过滤器:
<activity android:name=".MyApp"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="http"
android:host="mySite.com" />
</intent-filter>
</activity>
然后,为了处理意图,我在onCreate中有一行:
if (getIntent().getCategories().contains("android.intent.category.BROWSABLE")){...}
问题是像http://mySite.com#12345这样的链接没有以这种方式打开。我做错了什么?
答案 0 :(得分:6)
答案是将默认类别添加到第二个intent过滤器,就像@advantej建议的那样。