2014-12-13 70 views
10

有沒有可能在android:host屬性上使用通配符?通配符上的Android主機意圖過濾器

喜歡的東西:

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

甚至

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

我試圖找到這個問題的答案,以及,我會讓你知道我什麼時候有消息。 – 2015-03-05 16:06:46

回答

11

是。在閱讀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" /> 
+1

這不會也趕上othersite.com? – axelbrz 2017-02-13 00:07:04

+0

是的,但如果你想趕上「site.com」,這是你需要做的。 – 2017-07-28 08:12:53