esquema de url personalizado de Android …?

Estoy tratando de crear mi propio esquema de URL para que mi aplicación de Android pueda ser llamada a través de una URL, pero por ahora no tengo éxito.

Intento que esta url funcione: cedemo: //com.cedemo.scan? X = toto

Aquí está parte de mi archivo de manifiesto:

        

¿Alguien puede ayudarme diciéndome que está mal? Además, si alguien encuentra lo que está mal, ¿alguien me puede decir cómo leo la variable “X” desde el interior del código de Android de mi aplicación?


Actualizar:

Actualización: hice la modificación de la acción (como se aconseja en una de las respuestas) y funcionó bien. La cuestión es que todavía no puedo obtener el valor de la variable url. Aquí está el código que probé.

 final Intent intent = getIntent(); final String myScheme=intent.getScheme(); final Bundle myBundle=intent.getExtras(); final boolean inContestKey; if (myBundle != null) { inContestKey=myBundle.containsKey("inContest"); } final Uri myURI=intent.getData(); final String value; if (myURI != null) { value = myURI.getQueryParameter("inContest"); } 

Pero recibo null de todas las funciones … ¿qué más puedo hacer?

Puede ser que debería explicar mejor el contexto de mi software:

  1. Mi software se inició
  2. Mi lanzamiento de software luego el navegador
  3. el usuario hace clic en un enlace en el navegador y el navegador va al esquema de la url, vuelve al software con una variable “X” (por ejemplo)
  4. el software debe leer la variable “X”

Pero en mi caso: myScheme , myBundle , myURI están configurados como null .

Algunas ideas ?


Actualizar:

Encontré que la respuesta es que tienes que estar en la actividad principal para hacer eso.

Creo que el problema es con la Acción que definiste. Hay un “android.intent.action.VIEW” que es lo que creo que quieres.

         

Pruébalo y apuesto que se resolverá correctamente. Solo hice esta suposición porque incluiste la categoría navegable que generalmente usa el navegador, que no conoce ninguna de tus acciones personalizadas. Si desea la acción GALERÍA como lo ha implicado, solo cree 2 filtros

               

Entonces, dentro del contenido de su actividad, puede hacer algo como:

 // Value should be "toto" as in your example String value = getData().getQueryParameter("X"); 

Lo que finalmente arregló las cosas para mí fue cambiar el orden de los elementos XML. Específicamente, intercambiando los datos y las filas de acción para que los datos estén antes de que la acción lo haga comenzar a funcionar.

        

Y para completar, mi enlace en el html es “myappname: // noop”.

Una cosa más, me gustaría arrojar luz. Inicialmente no funcionaba para mí porque estaba usando tags Main / Launcher antes de View / Default / Browsable / data.

Una vez que cambié el orden, comenzó a funcionar bien. es decir, código que inicialmente no funciona

           

código correcto

            

y la forma de probar Android es muy simple. Hacer cualquier inserción de archivo html

 test to launch myapp 

simplemente abra este archivo html y haga clic en la prueba para … 🙂