Je souhaite que mon intention soit lancée lorsque l'utilisateur accède à une certaine URL: par exemple, le marché Android le fait avec http://market.Android.com/ = urls. youtube aussi. Je veux que les miens le fassent aussi.
Je l'ai fait! En utilisant <intent-filter>
. Mettez ce qui suit dans votre fichier manifeste:
<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>
Cela fonctionne parfaitement!
Vous devrez peut-être ajouter différentes permutations à votre filtre d'intention pour le faire fonctionner dans différents cas (http/https/ect).
Par exemple, je devais faire ce qui suit pour une application qui s'ouvrirait lorsque l'utilisateur ouvrirait un lien vers des formulaires Google, www.docs.google.com/forms
Notez que le préfixe de chemin est facultatif.
<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>