wake-up-neo.com

Android Auf URL in Intent antworten

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.

151
Isaac Waller

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!

190
Isaac Waller

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>
9
Jordan Réjaud