我正在尝试让我的应用程序收听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
尝试了相同的意图过滤器。在这种情况下,浏览器只是转到下一页而不是启动我的应用程序。
这里需要改变什么?
答案 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>