Eu gostaria de poder solicitar que meu aplicativo abra um link quando o usuário clicar em um URL de um determinado padrão, em vez de permitir que o navegador o abra. Isso pode ocorrer quando o usuário está em uma página da web no navegador ou em um cliente de e-mail ou em um WebView em um aplicativo recém-criado.
Por exemplo, clique em um link do YouTube de qualquer lugar do telefone e você terá a chance de abrir o aplicativo do YouTube.
Como faço isso para meu próprio aplicativo?
Respostas:
Use um android.intent.action.VIEW da categoria android.intent.category.BROWSABLE .
No AndroidManifest.xml do aplicativo Photostream de Romain Guy ,
Uma vez dentro da atividade , você precisa procurar a ação e, em seguida, fazer algo com a URL que recebeu. O
Intent.getData()
método fornece um Uri.Deve-se notar, no entanto, que este aplicativo está ficando um pouco desatualizado (1.2), então você pode descobrir que existem maneiras melhores de fazer isso.
fonte
Existem algumas bibliotecas que analisam os parâmetros do url automaticamente.
tal como
https://github.com/airbnb/DeepLinkDispatch
&&
https://github.com/mzule/ActivityRouter
O último é escrito por mim. Que pode analisar parâmetros para determinado tipo, nem sempre String.
Exemplo
fonte
fonte