Me gustaría poder solicitar a mi aplicación que abra un enlace cuando el usuario hace clic en una URL de un patrón determinado en lugar de permitir que el navegador lo abra. Esto podría ocurrir cuando el usuario está en una página web en el navegador o en un cliente de correo electrónico o dentro de un WebView en una aplicación recién creada.
Por ejemplo, haga clic en un enlace de YouTube desde cualquier lugar del teléfono y tendrá la oportunidad de abrir la aplicación de YouTube.
¿Cómo logro esto para mi propia aplicación?
Respuestas:
Utilice un android.intent.action.VIEW de la categoría android.intent.category.BROWSABLE .
Desde AndroidManifest.xml de la aplicación Photostream de Romain Guy ,
Una vez dentro, estás en la actividad , debes buscar la acción y luego hacer algo con la URL que te han entregado. El
Intent.getData()
método te da un Uri.Sin embargo, debe tenerse en cuenta que esta aplicación se está quedando un poco desactualizada (1.2), por lo que es posible que descubra que hay mejores formas de lograrlo.
fuente
Hay algunas bibliotecas que analizan los parámetros de la URL automáticamente.
como
https://github.com/airbnb/DeepLinkDispatch
&&
https://github.com/mzule/ActivityRouter
El último lo escribo yo. Que puede analizar los parámetros para un tipo dado, no siempre String.
Ejemplo
fuente
fuente