linking - que es un intent filter en android
Filtro de intenciĆ³n usando path, pathPrefix o pathPattern (3)
Si necesita iniciar su aplicación solo Si para el enlace / /path/test.html
A continuación, utilice el atributo android:path
en solo la etiqueta de data
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="http"
android:host="test.host.com"
android:path="/path/test.html" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
Como android:path
attribute especifica una ruta completa que coincide con la ruta completa en un objeto Intent. Pero el atributo android:pathPrefix
especifica una ruta parcial que se android:pathPrefix
solo con la parte inicial de la ruta en el objeto Intent.
Entonces, cuando use android:pathPrefix
attribute not android:path
attribute Eso significa que su aplicación puede comenzar por /path/test.html
, /path/test.html?key1=value1
, /path/test.html?key1=value1&key2=value2
, etc
Más información sobre android doc para la etiqueta de datos en intent-filter
Mi cadena de prueba uri es
http://test.host.com/path/test.html?key1=val1&key2=val2
Y hago intento-filtro en manifiesto
A. scheme & host (funciona pero no quiero)
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<data
android:scheme="http"
android:host="test.host.com"
/>
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
B. A & path (pathPrefix, pathPattern) (No funcionó)
<data
android:scheme="http"
android:host="test.host.com"
1. android:path="path/test.html" -> not worked (link to chrome broswer)
2. android:path="path" -> not worked (link to chrome broswer)
3. android:pathPrefix="path" -> not worked (link to chrome broswer)
4. android:pathPattern="user/invite.*" -> same (I do not know pattern)
/>
Quiero iniciar mi aplicación cuando solo (path / test.html),
Te estás perdiendo la barra al principio. Lo siguiente debería funcionar:
android:path="/path/test.html"
O
android:pathPrefix="/path/test.html"
El atributo pathPrefix
especifica una ruta parcial que se pathPrefix
solo con la parte inicial de la ruta en el objeto Intent.
android:pathPrefix="/path/"
también funcionará.