从Chrome浏览器打开Android应用

时间:2013-08-14 22:25:15

标签: android url browser

我一直在尝试创建一个在浏览器中输入特定网址时自动打开的应用。为此,我一直在我的清单中使用和意图过滤,如下所示:

<intent-filter>
            <data android:scheme="http" android:host="maltapark.com"/>
            <action android:name="android.intent.action.VIEW" />
            <category android:name="android.intent.category.DEFAULT"></category>
            <category android:name="android.intent.category.BROWSABLE"></category>
</intent-filter>

这样可以正常工作,但仅限于我的默认网络浏览器。当我使用chrome时,应用程序无法打开。 我也试过使用firefox,它只用一些但不是所有的URL打开我的应用程序,例如abc:// test。

有没有办法让我的应用程序打开,无论使用的浏览器或网址如何?

4 个答案:

答案 0 :(得分:2)

您可以使用intent方案,explained here。 “Android浏览器”可能支持也可能不支持,您可能不得不依赖iframe。 FireFox做的是任何人的猜测,但我个人认为FireFox并不是Android平台上的一个重要竞争者。

答案 1 :(得分:0)

在清单中使用它

<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="maltapark.com"
                android:path="/"
                android:scheme="TESTSCHEME" />
        </intent-filter>

并在标签中使用

"intent://maltapark.com/#Intent;scheme=TESTSCHEME;package=com.YOURPACKAGENAME.www;end"

这对我有用

答案 2 :(得分:-1)

您尝试拦截应用的网址是什么?你提到它没有像abc:// test这样的东西,这是正确的。

您的意图过滤器声明它想拦截与http://maltapark.com匹配的网址。

如果网址与该网址不匹配,则无法打开。

答案 3 :(得分:-1)

尝试在android:scheme中添加'*'通配符,也许安装android:host属性(如果这是你需要的)。