我想有我的应用程序市场链接,我的申请作出回应。 所以链接市场://细节ID = my.package.name? 现在我想这样做的原因是这样我就可以发送一个链接,如果已安装,将打开的应用程序,并打开市场页面,如果不安装该应用程序。 我遇到的问题是,我的应用程序将所有市场环节作出回应,不只是我的应用程序链接。 原因是在URI的查询部分定义的包名。 有没有一种方法来过滤基于URI的查询部分的意图是什么?
Answer 1:
不,对不起,你不能。 您可以根据一切的左侧限制过滤器?
,但仅此而已。
Answer 2:
从Android的API 19,你可以做到这一点,使用ssp
, 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
参数,当没有这样的参数将不提供它。 但是,这仅适用于Android 4.4或以上版本,旧版本会忽略sspPrefix
。
请参见这篇文章: https://chris.orr.me.uk/android-ssp-data-intent-filter/ 。
文章来源: Can you create an intent filter based on query?