我想让我的应用程序响应我的应用程序的市场链接。所以链接是market://details?id=my.package.name。现在我想要这个的原因是我可以发送一个链接,如果安装了该应用程序将打开该应用程序,如果未安装该应用程序则打开市场页面。我遇到的问题是我的应用程序将响应所有市场链接,而不仅仅是我的应用程序链接。原因是包名是在 Uri 的查询部分定义的。有没有办法根据 Uri 的查询部分过滤意图?
问问题
1368 次
2 回答
8
ssp
从 Android API 19 开始,您可以使用sspPrefix
或sspPattern
. 例子:
<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 回答