Domanda

Voglio che la mia intenzione di essere lanciato quando l'utente passa a un certo URL: per esempio, il mercato Android fa con http://market.android.com/ URL. così fa youtube. Voglio la mia a fare anche questo.

È stato utile?

Soluzione

L'ho fatto! Utilizzando <intent-filter> . Mettere il seguente nel 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>

Questo funziona perfettamente!

Altri suggerimenti

Potrebbe essere necessario aggiungere diversi permutazioni al filtro intenzione di farlo funzionare in diversi casi (HTTP / HTTPS / ect).

Per esempio, ho dovuto fare le seguenti operazioni per un app che avrebbe aperto quando l'utente apre un link a Google forme di unità, www.docs.google.com/forms

Si noti che 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>
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top