我正在使用此intent-filter:
<intent-filter>
<data
android:host="details"
android:scheme="market">
</data>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
服务器端如下:
$(document).on("click", "#download", function () {
window.open("market://details?id=com.myapp.android", ''); return false;
});
因此,每当用户点击“下载”时,按钮,如果安装了应用程序,将要求用户在应用程序中打开。如果未安装应用,则会将用户引导至Google Play商店。
我的问题是,使用此intent-filter,方案和主机不是那么具体,其他应用程序也可能使用这个&#34; market://详细信息?....&#34;在谷歌游戏商店打开他们的下载页面,这也将触发我的应用程序。所以我真正想要的更像是这样:
<intent-filter>
<data
android:host="details?id=com.myapp.android" <!--here I want to be more specific-->
android:scheme="market">
</data>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
但是我发现这样的主机包含?...
并不起作用。想知道有没有办法让意图过滤器更具体,以便其他应用程序不会触发它?