在浏览器中打开App for Specific链接

时间:2013-12-18 18:29:26

标签: android android-intent android-browser

我想打开我的Android应用程序以获取特定链接,而不是特定的主机,这样每当用户在浏览器中输入网址时,我的应用都会显示在打开选项。

我已经成功通过浏览器链接打开我的应用程序。

例如:

如果用户输入: www.abc.com ,则不得在使用打开选项中显示该应用。但是,如果必须显示用户类型或点击 www.abc.com/video 应用程序。

我尝试了以下不同的组合,但没有一个有效。

<data android:pathPrefix="www.abc.com" android:pathPattern=".*" android:pathPrefix="/video/" android:scheme="http" />

即使我在网络浏览器中输入了abc.com,它也显示了我的应用程序。但我想要的是,只有当用户输入了确切的网址时才能看到我的应用程序,即 www.abc.com/video

2 个答案:

答案 0 :(得分:0)

来自Android文档:

  

这些属性中的每一个都是可选的,但它们并不相互独立:要使权限有意义,还必须指定方案。要使路径有意义,必须指定方案和权限。

然后你应该使用:

android:scheme="http" android:host="www.abc.com" android:path="/video"

答案 1 :(得分:0)

应用

的所有组合后我理解的内容

<data android:pathPrefix="www.abc.com" android:pathPattern=".*" android:pathPrefix="/video/" android:scheme="http" />

是:

1。)浏览器在/(斜杠)运算符之前抛出url部分的意图。例如: 如果我写www.abc.com/terms,浏览器会抛出www.abc.com的意图。相似它还将检查www.abc.com/videos,www.abc.com/xyz,abc.com/,abc.com/videos并抛出意图。

现在,我们有责任检查传入网址中的其他参数并检查我们要处理的网址。

在我的情况下,我添加了第二个参数视频的检查,如果它包含,否则显示应用程序的主屏幕。