9

我想让我的应用程序响应我的应用程序的市场链接。所以链接是market://details?id=my.package.name。现在我想要这个的原因是我可以发送一个链接,如果安装了该应用程序将打开该应用程序,如果未安装该应用程序则打开市场页面。我遇到的问题是我的应用程序将响应所有市场链接,而不仅仅是我的应用程序链接。原因是包名是在 Uri 的查询部分定义的。有没有办法根据 Uri 的查询部分过滤意图?

4

2 回答 2

8

ssp从 Android API 19 开始,您可以使用sspPrefixsspPattern. 例子:

<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="https"
        android:sspPrefix="//play.google.com/store/apps/details?id=com.example.test"
    />
</intent-filter>

使用这样的过滤器,操作系统将只为您的应用程序提供带有id=com.example.test参数的 URL,并且在没有此类参数时不会提供它。但这仅适用于 Android 4.4+,旧版本将忽略sspPrefix.

另见这篇文章:https ://chris.orr.me.uk/android-ssp-data-intent-filter/ 。

于 2015-03-16T17:31:26.460 回答
6

不,对不起,你不能。您可以根据 左侧的所有内容来约束过滤器?,仅此而已。

于 2012-05-02T16:49:37.957 回答