Ich möchte, dass meine Absicht gestartet wird, wenn der Benutzer eine bestimmte URL aufruft: Zum Beispiel macht dies der Android market mit http://market.Android.com/ = urls. youtube auch. das möchte ich auch.
Ich habe es gemacht! Mit <intent-filter>
. Fügen Sie Folgendes in Ihre Manifest-Datei ein:
<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>
Das funktioniert einwandfrei!
Möglicherweise müssen Sie Ihrem Absichtsfilter verschiedene Permutationen hinzufügen, damit er in verschiedenen Fällen funktioniert (http/https/ect).
Zum Beispiel musste ich Folgendes für eine App tun, die geöffnet wurde, wenn der Benutzer einen Link zu Google Drive Forms öffnete: www.docs.google.com/forms
Beachten Sie, dass das Pfadpräfix optional ist.
<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>