22 votos

Forzar que los enlaces se abran en la aplicación, no en el navegador predeterminado

Por ejemplo, recibo un correo electrónico de Pinterest con enlaces interesantes para la semana. Cuando hago clic en un pin, se abre en Chrome y no en la aplicación de Pinterest. Esto sucede con algunas aplicaciones y me preguntaba si hay alguna manera de tener una función de "abrir enlace con".

¿Es posible forzar que los enlaces se abran en su aplicación respectiva y no en el navegador predeterminado (por ejemplo, Chrome)?

13voto

Liam W Puntos 6478

Las aplicaciones pueden solicitar que los enlaces se abran utilizando la aplicación, utilizando una API llamada "filtro de intención".

Si la aplicación tiene el filtro de intención correcto, se le pedirá que abra el enlace utilizando esa aplicación, y la aplicación luego hará algo con él.

Esto debe ser codificado por el desarrollador de la aplicación, y no hay forma de implementarlo tú mismo a menos que descomprimas la aplicación y lo añadas.

Un ejemplo de una aplicación que hace esto es la aplicación Google+.

2 votos

Más ejemplos incluyen: Twitter, Google Maps, Foursquare. Por lo tanto, depende completamente de los desarrolladores de aplicaciones.

2 votos

Encuentro extraño que la aplicación de Gmail no esté haciendo eso. Por ejemplo: en Chrome en Android, haz clic en la pestaña reciente que muestra un correo electrónico en el escritorio de Chrome; tendría sentido en ese caso abrir ese correo electrónico en la aplicación de Gmail.

0 votos

Por favor, ¿podrías proporcionar alguna documentación o información adicional sobre el filtro de intenciones? Muchas gracias, probablemente recibirás mucho más crédito por esta respuesta, es muy útil.

6voto

oneself Puntos 4847

Esta aplicación ayuda a que los enlaces de Facebook, Twitter, Instagram, GitHub y Goodreads se abran en sus aplicaciones en lugar del navegador: Abrir enlace en la aplicación

Aún no es compatible con Pinterest, ¡pero si eres técnico, es fácil agregar nuevas aplicaciones y no requiere escribir código! Detalles en el repositorio de GitHub.

1 votos

He instalado Abrir en la aplicación ¡y está funcionando! Tengo una aplicación de base de datos y he añadido un campo para URL en una de las tablas y siempre se abría en el navegador antes. Gracias por compartir.

0 votos

Esto no funciona con Firefox en Android ¿verdad?

2voto

Jeena Puntos 11

Si los enlaces se estaban abriendo en Chrome por defecto, todo lo que tenía que hacer era, ir a Configuración -> Aplicaciones -> Establecer como predeterminado, elegir la aplicación de Chrome y presionar Borrar predeterminados.

La próxima vez que hice clic en el enlace, el teléfono me preguntó Abrir con con solo dos opciones: Chrome y Navegador de Internet de Samsung. Cuando elegí Chrome y luego Sólo una vez, una vez más apareció la opción de Abrir con pero esta vez con 3 opciones: Pinterest, Chrome y Navegador de Internet de Samsung. Elegí Pinterest seguido de Siempre y eso fue todo.

No estoy seguro de por qué, pero esto funcionó.

0 votos

No utilizo Pinterest, pero podría suponer que el primer enlace es una URL acortada/compacta que no es reconocida por la aplicación de Pinterest, luego el navegador redirige al enlace que ahora es reconocido por la aplicación de Pinterest, de ahí la opción adicional en el segundo enlace. (más información sobre cómo funciona esto está en respuesta existente)

0voto

Sid Puntos 3093

En general, no puedes hacerlo. La razón por la que los enlaces se abren en un navegador es que utilizan los mismos protocolos que los enlaces web normales. Así que si la aplicación en particular no es un navegador, los enlaces tienen que abrirse con una aplicación de navegador.

Pero es posible que hayas visto algunos enlaces (especialmente enlaces a aplicaciones de Android en el mercado) que se pueden abrir con la aplicación de Mercado de Android/Google Play Store. Esto es posible porque esos enlaces utilizan market:// en sus enlaces en lugar del típico http://

Si necesitas confirmarlo, intenta borrar las configuraciones predeterminadas de tu navegador Chrome. Te pedirá que elijas una aplicación para abrir un enlace cuando hagas clic en ellos. Esto te dará una opción de abrir enlace con (por supuesto, para usar las aplicaciones de navegador)

Para hacer esto, ve a Configuración -> Aplicaciones y selecciona la aplicación de Chrome. Desplázate hasta abajo y busca un botón para borrar las configuraciones predeterminadas y haz clic en él.

4 votos

Esto no es cierto en realidad. Una aplicación puede registrar un intento para abrir cualquier URL, incluso si utiliza http. Por ejemplo, la aplicación de Play Store manejará los enlaces http://play.google.com/store/apps/details?id=foo, así como los enlaces market://.

0 votos

Esto es falso. Para abrir enlaces http/https directamente, necesitas verificar la propiedad del dominio usando un archivo .well-known/assetlinks.json. Ver developer.android.com/training/app-links Puedes mostrar la capacidad de abrir dominios no verificados, pero el usuario necesita configurar tu aplicación como la aplicación predeterminada ellos mismos, de lo contrario se abrirá en el navegador (esto no era cierto hasta Android 12, donde preguntaría qué aplicación registrada querías usar)

0voto

Roey Puntos 101

Pero ¿cómo se fuerza a abrir en una aplicación nativa cuando no admite enlaces de aplicaciones (direcciones web admitidas = Ninguna)? Introducir descripción de la imagen aquí ¿Existe alguna manera/aplicación que pueda redirigir enlaces web a una aplicación incluso si no admite enlaces de aplicaciones?

Esta aplicación https://play.google.com/store/apps/details?id=com.tasomaniac.openwith no hace el trabajo GRACIAS

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X