Android 回应意图中的 URL

我希望我的意图是在用户访问某个网址时启动: 例如,android 市场使用 http://market.android.com/网址做这件事。Youtube 也是。我希望我的也能这样。

116380 次浏览

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

这个非常好用!

您可能需要在您的意图过滤器中允许不同的数据组合,以使其在不同的情况下工作(http/ vs https/www. vs no www.,等等)。

例如,我必须为一个应用程序做以下事情,当用户打开一个链接到谷歌驱动器表单(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" />
<data android:scheme="https" />


<data android:host="www.docs.google.com" />
<data android:host="docs.google.com" />


<data android:pathPrefix="/forms" />
</intent-filter>