2012-03-18 16 views
9

Chcę filtrować konkretny adres URL: http://gaapa.cz/mobile/ *Jak filtrować tylko określony adres URL z zamiarem filtr

Ale ten filtr jest zwolniony na każdym URL - ehta tym złego?

<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> 

Odpowiedz

10

Chcesz albo ścieżka używanie, pathPrefix lub pathPattern, według,

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

W twoim przypadku, e ither pathPattern lub pathPrefix będzie działać,

pathPattern="mobile/*" 

lub

pathPrefix="mobile" 

jednak, że nie wyjaśnia, dlaczego Twój filtr jest dopasowanie wszystkich URI. powinno być pasujące do żadnego, ponieważ ścieżka nie rozumie "*". podejrzewam, że coś jest dodane/brakuje gdzieś indziej w twoim kodzie.

+1

Jeden z moich filtrów intencyjny brakuje gospodarza tak droga była ignorowana – Hurda

+0

Co się stanie, jeśli chcesz, aby filtr do następującego adresu URL: http://gaapa.cz/#/aaa Próbowałem zmienić PRZEDR_SCIEZKI lub pathPattern do "/ #/*" lub "# /" i nie działało – gaara87

+0

hash jest zarezerwowaną postacią. jeśli chcesz go użyć w adresie URL, musisz go zakodować (% 23). –

1

To powinno działać:

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

Hmm ... Android: path = "mobile" nie będzie działać, ponieważ wymaga wiodącym "/". Przykład: android: ścieżka = "/ mobile". –

2

Spróbuj tego:

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