Voglio che il mio intento venga lanciato quando l'utente passa a un determinato URL: ad esempio, il mercato Android lo fa con http://market.android.com/ urls. così fa YouTube. Voglio che anche il mio lo faccia.
Voglio che il mio intento venga lanciato quando l'utente passa a un determinato URL: ad esempio, il mercato Android lo fa con http://market.android.com/ urls. così fa YouTube. Voglio che anche il mio lo faccia.
Risposte:
L'ho fatto! Usando <intent-filter>
. Inserisci quanto segue nel tuo file manifest:
<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="www.youtube.com" android:scheme="http" />
</intent-filter>
Funziona perfettamente!
Potrebbe essere necessario aggiungere diverse permutazioni al filtro delle intenzioni per farlo funzionare in diversi casi (http / https / ect).
Ad esempio, ho dovuto fare quanto segue per un'app che si apriva quando l'utente apriva un link ai moduli di Google Drive, www.docs.google.com/forms
Si noti che il prefisso del percorso è facoltativo.
<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:scheme="http"
android:host="docs.google.com"
android:pathPrefix="/forms"/>
<data
android:scheme="http"
android:host="www.docs.google.com"
android:pathPrefix="/forms" />
<data
android:scheme="https"
android:host="www.docs.google.com"
android:pathPrefix="/forms" />
<data
android:scheme="https"
android:host="docs.google.com"
android:pathPrefix="/forms" />
</intent-filter>