Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 您可以基于查询创建一个意图过滤器吗?_Java_Android_Android Intent - Fatal编程技术网

Java 您可以基于查询创建一个意图过滤器吗?

Java 您可以基于查询创建一个意图过滤器吗?,java,android,android-intent,Java,Android,Android Intent,我想让我的申请回复我申请的市场链接。所以联系是market://details?id=my.package.name. 现在,我想这样做的原因是,我可以发送一个链接,如果安装了该应用程序,将打开该应用程序,如果未安装该应用程序,将打开市场页面。我遇到的问题是,我的应用程序将响应所有市场链接,而不仅仅是我的应用程序链接。原因是在Uri的查询部分定义了包名。有没有一种方法可以根据Uri的查询部分筛选意图?没有,对不起,您不能。您可以基于?左侧的所有内容约束过滤器,但仅此而已。在Android API

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

没有,对不起,您不能。您可以基于
左侧的所有内容约束过滤器,但仅此而已。

在Android API 19中,您可以使用或。例如:

<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>


.

谢谢你的回答。这解释了为什么我不能让它工作。文档中并没有真正明确地指出这一点。即使在运行Android 4.4+的设备上,这种方法也不可靠,请参见此处