2012-03-18 17 views
9

voglio filtrare URL specifico: http://gaapa.cz/mobile/ *Come filtrare solo URL specifico con filtro intento

Ma questo filtro viene sparato su ogni URL - ehta di sbagliato in questo?

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

risposta

10

Si desidera sia percorso uso, pathPrefix o pathPattern, secondo,

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

Nel tuo caso, e ither pathPattern o pathPrefix funzionerà,

pathPattern="mobile/*" 

o

pathPrefix="mobile" 

Tuttavia, che non spiega il motivo per cui il filtro è la corrispondenza tutti gli URI. dovrebbe corrispondere a nessuno poiché il percorso non comprende "*". ho il sospetto che ci sia qualcosa di aggiunto/mancante da qualche altra parte nel tuo codice.

+1

Uno dei miei filtri era mancante host in modo che il percorso è stato ignorato – Hurda

+0

Cosa succede se voglio fare un filtro per il seguente URL: http://gaapa.cz/#/aaa Ho provato a cambiare pathPrefix o pathPattern "/ #/*" o "# /" e non ha funzionato. – gaara87

+0

hash è un carattere riservato. se vuoi usarlo in un URL devi codificarlo (% 23). –

1

Questo dovrebbe funzionare:

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

Hmm ... android: path = "mobile" non funzionerà in quanto richiede un "/" iniziale. Esempio: android: percorso = "/ mobile". –

2

Prova questa:

<data android:host="gaapa.cz" 
     android:pathprefix="mobile/" 
     android:scheme="http" /> 
Problemi correlati