我希望在用户转到某个网址时启动我的意图:例如,Android市场使用http://market.android.com/网址来启动它。 youtube也是如此。我也希望我也这样做。

评论

在stackoverflow.com/questions/2448213/…上,这个问题有很好的答案。

这个问题有一个更好的答案stackoverflow.com/questions/1609573/…

#1 楼

我做的!使用<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="www.youtube.com" android:scheme="http" />
</intent-filter>


这很完美!

评论


它对我不起作用。您能否举一个示例链接,它将打开该应用程序。

– Pascal Klein
Apt 1 '11 at 14:39

我想对“ www.youtube.com”做出反应,但不希望对“ www.youtube.com/fr/”做出反应。知道我该怎么做吗?

–Gilbou
2011-10-28 16:10



看看stackoverflow.com/questions/2958701/…

– J-Rou
2012年5月31日18:42

不知道这对整个世界如何运作。只是在chrome上不起作用,它总是在浏览器中打开链接,直到您放置“ android:pathPrefix”元素。无论如何,答案没有文档中提到的类别值。如果仍然无法使用某人,请参考以下内容:stackoverflow.com/a/21727055/2695276 PS:为此苦苦挣扎了好几天。

–Rajat Sharma
15年1月2日在21:08

重要的是要知道,这仅在您打开浏览器的外部链接,notes应用程序或whatsapp的消息时才有效,这在棒棒糖上有效

– D4rWiNS
16年5月17日在12:21



#2 楼

您可能需要向意图过滤器添加不同的排列,以使其在不同情况下可以工作(http / https / ect)。

例如,我必须对要在用户打开google驱动器表单链接www.docs.google.com/forms时打开的应用执行以下操作,请注意,路径前缀是可选的。

        <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="docs.google.com"
                android:pathPrefix="/forms"/>
            <data
                android:scheme="http"
                android:host="www.docs.google.com"
                android:pathPrefix="/forms" />

            <data
                android:scheme="https"
                android:host="www.docs.google.com"
                android:pathPrefix="/forms" />

            <data
                android:scheme="https"
                android:host="docs.google.com"
                android:pathPrefix="/forms" />
        </intent-filter>