是否可以在 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" />
是的。在阅读了IntentFilter.AuthorityEntry.match()的Android代码后,我可以看到有一种方法可以在主机上放置通配符,但只能匹配host的开头。规则如下:
- 将 * 作为主机的第一个字符。
- 将主机的其余部分写入到最后。
这将起作用:
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" />