我有一个Android应用程序,应该打开通过电子邮件发送的链接。不过,我只想打开指向某个网站的链接。我知道打开youTube链接会为用户提供一个对话框,询问是在浏览器中还是在youTube应用程序中打开它,所以这就是我想要的。在我的Android list 文件中,我具有以下 Intent 过滤器:

    <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>

然后,为了处理 Intent ,我在onCreate中添加了一行:
if (getIntent().getCategories().contains("android.intent.category.BROWSABLE")){...}

问题是诸如http://mySite.com#12345之类的链接没有以这种方式打开。我究竟做错了什么?

最佳答案

答案是将默认类别添加到第二个 Intent 过滤器中,就像@advantej所建议的那样。

10-07 19:32
查看更多