Android在Intent中响应URL

时间:2009-02-08 02:55:57

标签: android url android-intent intentfilter launch

我希望在用户访问某个网址时启动我的意图:例如,Android市场会使用http://market.android.com/网址执行此操作。 youtube也是如此。我希望我也这样做。

2 个答案:

答案 0 :(得分:190)

我做到了!使用<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>

这完美无缺!

答案 1 :(得分:9)

您可能需要在意图过滤器中添加不同的排列,以使其在不同的情况下工作(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>