Android主机意图过滤通配符

时间:2014-12-13 13:11:48

标签: android android-intent

是否可以在android:host属性上使用通配符?

类似的东西:

        android:host="*.site.com"
        android:pathPattern=".*"
        android:pathPrefix="/m/"
        android:scheme="http" />

甚至

        android:host="*.site.*"
        android:pathPattern=".*"
        android:pathPrefix="/m/"
        android:scheme="http" />

1 个答案:

答案 0 :(得分:15)

是。在阅读了IntentFilter.AuthorityEntry.match()的Android代码之后,我可以看到有一种方法可以在主机上放置通配符,但只能匹配主机的开头。规则如下:

  • 将*作为主持人的第一个字符。
  • 写出主机的其余部分直到结束。

这将有效

    android:host="*site.com"
    android:pathPattern=".*"
    android:scheme="http" />

它将捕获以下链接:

  • www.site.com
  • site.com
  • mail.site.com

另一方面,下面的那个赢了

    android:host="*.site.*"
    android:pathPattern=".*"
    android:scheme="http" />