基于通配符的Android主机意图过滤器

基于通配符的Android主机意图过滤器,android,android-intent,Android,Android Intent,是否可以在android:host属性上使用通配符 比如: android:host="*.site.com" android:pathPattern=".*" android:pathPrefix="/m/" android:scheme="http" /> 甚至 android:host="*.site.*" android:pathPattern=".*" android

是否可以在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" />
对。在阅读了的之后,我可以看到有一种方法可以在主机上放置通配符,但只能匹配主机的开头。规则如下:

  • 将*作为主机的第一个字符
  • 写入主机的其余部分,直到结束
这将起作用

    android:host="*site.com"
    android:pathPattern=".*"
    android:scheme="http" />
    android:host="*.site.*"
    android:pathPattern=".*"
    android:scheme="http" />
它将捕获以下链接:

  • www.site.com
  • site.com
  • mail.site.com
另一方面,下面的将不起作用:

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

我也在试图找到这个问题的答案,当我有消息的时候,我会告诉你的。这不也会捕获othersite.com吗?是的,但是如果你想捕获“site.com”,这就是你需要做的。这里的文档说,
*.site.com
应该可以工作——“或者,如果你用通配符(比如*.example.com)声明你的主机名。”,您必须在根主机名处发布assetlinks.json文件“无需担心..”。。我会解决的……)谢谢@Noitidarthere有一个到源代码的链接:请查看第674行的match()函数