如何仅使用intent过滤器过滤特定URL

时间:2012-03-18 18:40:45

标签: android intentfilter

我想过滤特定的网址:http://gaapa.cz/mobile/ *

但是这个过滤器是针对每个URl-ehta错误的?

<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:host="gaapa.cz"
                android:path="/mobile/.*"
                android:scheme="http" />
</intent-filter>

3 个答案:

答案 0 :(得分:12)

您希望使用路径,pathPrefixpathPattern,根据

http://developer.android.com/guide/topics/manifest/data-element.html#path

在您的情况下,pathPatternpathPrefix将起作用,

pathPattern="mobile/*"

pathPrefix="mobile"

但是,这并不能解释为什么您的过滤器匹配所有URI。它应该匹配none,因为路径不理解“*”。我怀疑代码中的其他地方有添加/缺失的内容。

答案 1 :(得分:3)

试试这个:

<data android:host="gaapa.cz"
      android:pathprefix="mobile/"
      android:scheme="http" />

答案 2 :(得分:2)

这应该有效:

<data android:host="gaapa.cz"
      android:path="mobile"
      android:pathPattern="*"
      android:scheme="http" />