使用意图过滤器收听YouTube链接

时间:2015-02-28 15:32:20

标签: android android-intent youtube intentfilter

我正在尝试让我的应用程序收听YouTube链接,就像YouTube应用程序的操作方式一样。我有一个带有以下intent过滤器的活动:

<activity android:name=".YoutubeLinkActivity" android:label="@string/app_name">
            <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" android:host="youtube.com"/>    
            </intent-filter>
</activity>  

但是,打开的应用是默认的YouTube应用,而非我的应用。我也为其他host尝试了相同的意图过滤器。在这种情况下,浏览器只是转到下一页而不是启动我的应用程序。

这里需要改变什么?

1 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,有趣的是它在Android 2.3.7中运行良好。

为了让它在JB及更高版本上运行,我将android:pathPrefix=""添加到我的<data>标记中。所以我的<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:host="android.app.myWeb.pk"
        android:pathPrefix=""
        android:scheme="http"/>
    <data
        android:host="android.app.myWeb.pk"
        android:pathPrefix=""
        android:scheme="https"/>
</intent-filter>