我想让我的应用程序响应我的应用程序的市场链接。所以链接是 market://details?id=my.package.name。现在我想要这个的原因是这样我可以发送一个链接,如果安装了该应用程序,该链接将打开该应用程序;如果未安装该应用程序,该链接将打开市场页面。我遇到的问题是我的应用程序将响应所有市场链接,而不仅仅是我的应用程序链接。原因是包名称是在 Uri 的查询部分中定义的。有没有办法根据 Uri 的查询部分过滤意图?
从 Android API 19 开始,您可以使用ssp, sspPrefix or 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>
有了这样的过滤器,操作系统将只为您的应用程序提供带有以下内容的 URL:id=com.example.test
参数,没有该参数时不提供。但这仅适用于Android 4.4+,旧版本将忽略sspPrefix
.
另请参阅这篇文章:https://chris.orr.me.uk/android-ssp-data-intent-filter/.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)