Pergunta

Eu quero a minha intenção de ser lançado quando o usuário vai para um determinado url: por exemplo, o mercado android faz isso com http://market.android.com/ urls. o mesmo acontece com o YouTube. Eu quero o meu para fazer isso também.

Foi útil?

Solução

Eu fiz isso! Usando <intent-filter> . Coloque o seguinte em seu arquivo de manifesto:

<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>

Isso funciona perfeitamente!

Outras dicas

Você pode precisar adicionar diferentes permutações de seu filtro de intenção de fazê-lo funcionar em casos diferentes (http / https / ect).

Por exemplo, eu tinha que fazer o seguinte para um aplicativo que iria abrir quando o usuário abrir um link para o Google formulários da movimentação, www.docs.google.com/forms

Note que caminho prefixo é opcional.

        <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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top