Abra la aplicación de Android desde la URL utilizando intent-filter no funciona

Tengo una aplicación de Android que las personas usan como reemplazo de un sitio web. Por lo tanto, cuando los usuarios encuentren una URL para el sitio web, quiero darles la opción de “abrir la URL” en mi aplicación en lugar de en el navegador. En otras palabras, quiero que aparezca la ventana emergente que les permite elegir entre mi aplicación y el navegador (y posiblemente otras aplicaciones).

Entiendo por varias fonts que necesito agregar un filtro de intención a una actividad en mi aplicación con el filtro ‘datos’ que filtra las URL de la forma correcta.

El sitio web en cuestión es http://members.iracing.com , por lo tanto, he agregado el siguiente filtro de intención:

            

He intentado varias formas de estos filtros de datos, como usar un solo nodo de ‘datos’ con ambos atributos:

       

Simplemente no está funcionando. No sé qué más decirte. Organicé una página HTML simple en mi sitio web con un par de enlaces a varias páginas en ese sitio web (todos comenzando con “http: //members.iracing.com / …”) y cuando hago clic en cualquiera de ellos, simplemente abren en el navegador sin preguntarme qué aplicación quiero usar. Lo probé tanto en el emulador como después de instalar la aplicación en mi dispositivo físico, nada funciona. Intenté esto en un proyecto Android completamente nuevo, en BLANCO, solo para ver si eso funcionaría, nada.

Luego me di cuenta de que el sitio web requiere autenticación, y si no está conectado, lo redirecciona a la página de inicio de sesión en https://members.iracing.com/membersite/login.jsp , por lo tanto, traté de reemplazar el esquema por “https”. Incluso traté de cambiar el host a “www.members.iracing.com”, y al final incluso probé una combinación de todas estas cosas (no estoy seguro de si esto debería funcionar, pero bueno, estoy desesperado en este punto … …)

          

Todavía no ir. Aunque no estoy seguro si la redirección es relevante, el navegador primero va al sitio no redirigido, luego lo redirige a la página de inicio de sesión, pero en ningún momento tengo la opción de abrirlo en mi aplicación. Además, si inicio sesión manualmente en el navegador primero, no hay redirección, y todavía no funciona.

¿Me estoy perdiendo algo obvio aquí? Estoy tratando de entender por qué esto no funciona, y no puedo depurarlo además de probar todas las combinaciones posibles en las que pudiera pensar (lo hice …). ¡Gracias por cualquier ayuda!

usa estos tres en tu

    

Creí que iba a publicar esto aquí porque pasé un tiempo investigando por qué mi filtro de intención no funcionaba. Resulta que estuvo trabajando todo el tiempo, pero los partidos son exactos. Por lo tanto, si registra su intención para http://myexample.com y hace clic en http://myexample.com/blah , no funcionará.

Agregar lo siguiente solucionó el problema:

  

Entonces el filtro de intención se ve así:

         

@nurieta, tu respuesta hizo el truco para mí, gracias.

Una palabra de advertencia ya que estoy tratando con posibles cadenas de consulta, lo manejé a través de un poco de código en .java para determinar si abrir la aplicación o enviarlo a una ubicación específica en la aplicación. Mi aplicación es solo una WebView que ejecuta una aplicación móvil JQuery.

  if(getIntent().getData()!=null){//check if intent is not null Uri data = getIntent().getData();//set a variable for the Intent String scheme = data.getScheme();//get the scheme (http,https) String fullPath = data.getEncodedSchemeSpecificPart();//get the full path -scheme - fragments combine = scheme+"://"+fullPath; //combine to get a full URI } String url = null;//declare variable to hold final URL if(combine!=null){//if combine variable is not empty then navigate to that full path url = combine; } else{//else open main page url = "http://www.example.com"; } webView.load(url);