1

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

<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。

有没有办法让我的应用程序打开而不管使用的浏览器或 URL 是什么?

4

4 回答 4

2

您可以使用该intent方案,如此处所述。“Android 浏览器”可能支持也可能不支持,您可能不得不依赖 iframe。FireFox 所做的是任何人的猜测,但我个人不认为 FireFox 是 Android 平台上的有力竞争者。

于 2013-08-14T22:38:47.207 回答
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>

并在标签a中使用它

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

这对我有用

于 2017-12-13T07:02:47.910 回答
-1

尝试在 andriod:scheme 中加入“*”通配符,也许还有 andriod:host 属性(如果这是你需要的)。

于 2013-08-16T03:11:15.393 回答
-1

您试图通过您的应用拦截的 URL 是什么?您提到它不适用于 abc://test 之类的东西,这是正确的。

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

如果 url 不匹配,它将不会打开。

于 2013-08-14T22:41:41.070 回答