问题 意图过滤器pathPrefix带问号


我想设置一个意图过滤器来处理网址,如: http://mysite.com/?action=delete&id=30492

我试过设置我的 intent-filter 如下:

<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="http" android:host="mysite.com" android:pathPrefix="/?action="/>
</intent-filter>

但是,这不起作用,我的应用程序无法识别为能够处理URL。我知道这是因为我做错了 pathPrefix 因为当我删除 pathPrefix 有用。我也知道这与在那里有问号有关,因为如果我从URL中移除问号而且 pathPrefix, 有用。

我是否需要以某种方式逃避问号?我尝试用斜线逃脱(android:pathPrefix="/\?action=")但这也不起作用。

如何让这个意图过滤器工作?


5217
2017-12-02 01:15


起源



答案:


查询字符串(?action=... 在你的例子中)不是路径的一部分。 AFAIK,您不能过滤查询字符串。


13
2017-12-02 01:27



糟糕,谢谢。 - Rico Yao
听起来你必须创建一个通用活动来决定要启动哪些活动作为变通方法。 - Artem Russakovskii


答案:


查询字符串(?action=... 在你的例子中)不是路径的一部分。 AFAIK,您不能过滤查询字符串。


13
2017-12-02 01:27



糟糕,谢谢。 - Rico Yao
听起来你必须创建一个通用活动来决定要启动哪些活动作为变通方法。 - Artem Russakovskii