Antecedentes
La situación es un poco confusa pero intentaremos explicarlo:
Tengo 2 aplicaciones, A y B respectivamente.
La aplicación A tiene algunos enlaces que al hacer clic se supone que se abren en la aplicación B (o se usa navegador externo en caso de que la aplicación B no esté instalada). Esta es la configuración que prefiero ya que no utiliza datos adicionales, ya que la aplicación B funciona totalmente sin conexión.
Sin embargo, cuando se actualizó la aplicación A, ya no permite que estos enlaces se abran en la aplicación B (o en el navegador externo), en su lugar tiene un navegador interno que es limitado y necesita usar datos para cargar el contenido, lo cual es inconveniente. Intenté comunicarme con el desarrollador y lamentablemente me dijeron que las aplicaciones antiguas ya no son compatibles, por lo que estoy atrapado con la aplicación A con un navegador interno.
¿Hay alguna manera o solución alternativa para al menos forzar a la aplicación a no utilizar su navegador interno, pero permitirme elegir una aplicación o navegador preferido para abrir estos enlaces?
1 votos
Si la aplicación A no está lanzando un intento explícito para que el usuario elija la aplicación con la que abrir, no creo que puedas hacer nada. No hay ningún canal de comunicación para interceptar (aunque no estoy seguro acerca de algún gancho de API de Xposed), el desarrollador está manejando todo internamente. Puedes intentar modificar el código de la aplicación de alguna manera, si es posible. // ¿Realmente ese navegador de la aplicación es interno y no una pestaña personalizada o un webview?
0 votos
Gracias por tu respuesta. Parece ser una pestaña personalizada, ¿cómo puedo saberlo?
0 votos
@xavier_fakerat Cómo funciona una aplicación solo se puede determinar mediante ingeniería inversa (por ejemplo, Jadx) o análisis dinámico (por ejemplo, Frida). Ambos requieren conocimientos de desarrollo en Java y aplicaciones de Android.
0 votos
@Robert ok gracias. Pensé que había una manera rápida, solo estoy ocupado. Sin embargo, estoy familiarizado con la ingeniería inversa, encontraré algo de tiempo para resolver el rompecabezas. Solo esperaba que fuera tan fácil como interceptar o desactivar el (los) servicio(s) específico(s) de la aplicación.
1 votos
Si se trata de una pestaña personalizada, entonces mi pregunta podría estar relacionada (aunque probablemente la respuesta aún no sea satisfactoria): Evitar que las aplicaciones abran enlaces en Chrome Custom Tabs (es decir, abrir en el navegador predeterminado directamente)
0 votos
@AndrewT. Gracias, creo que están algo relacionados, pero aún no hay una solución funcional para mi problema particular.
0 votos
@AndrewT. la respuesta satisfactoria está a solo una pequeña aplicación (o una pequeña característica) de distancia: github.com/arunkumar9t2/lynket-browser/issues/139