&roid Después de luchar durante mucho tiempo, aquí está el código primero. ¡El autor ha verificado que es absolutamente utilizable y que el código es relativamente claro! (PD: primero demos algunos spoilers, la mayoría de los navegadores de terceros no pueden funcionar). Haga clic en el enlace URL del navegador para iniciar una aplicación específica. Primero cree una página HTML, el formato del contenido de la página es el siguiente:lt;a href="[scheme]://[host]/[path]?[query]"gt;Inicie la aplicaciónlt;/agt;Esta oración puede Sí. Los significados de cada ítem son los siguientes: esquema: determina el inicio de la aplicación. ※ Anfitrión después de los detalles: Anote la ruta apropiadamente: la clave del valor pasado debe ser ※ Ninguno también puede consultarse: Obtenga la clave y el valor del valor ※ Ninguno también puede usarse como prueba Después de escribir, de la siguiente manera: lt; a href="myapp:// jp.app/ openwith?name=zhangsanamp;age=26"gt;inicie la aplicaciónlt;/agt;El siguiente es el lado de Android. Primero agregue el siguiente contenido en Actividad PRINCIPAL en AndroidManifest.xml. intent.category.BROWSABLE" /gt;lt;data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith"/gt;lt;/intent-filtergt;Se agregan símbolos HTML a . Solo se requiere el esquema, no se requiere ningún otro contenido para iniciar la aplicación. Nota: content-filter y android.intent.action.MAIN y android.intent.category.LAUNCHER no se pueden usar. con esto, el contenido agregado dos veces se mezcla. Por lo tanto, si se agrega la misma actividad, opere de la siguiente manera; de lo contrario, causará problemas como que el ícono de la aplicación desaparezca de la categoría de escritorio de Android: name="android.intent.category. DEFAULT" /gt ;lt;category android:name="android.intent.category.BROWSABLE" /gt;lt;data android:scheme="myapp" android:host="jp.app" android:pathPrefix="/openwith "/gt; lt;/intent-filtergt;Copiar código En este caso, no hay problema.
A continuación, agregue el siguiente código donde la Actividad necesita obtener el valor. Lo escribí directamente en la función OnCreate: Intent i_getvalue = getIntent(); String action = i_getvalue.getAction() if(Intent.ACTION_ VIEW.equals(action). ) ){ Uri uri = i_getvalue.getData(); if(uri! = null){ Nombre de cadena = uri.getQueryParameter("nombre"); Edad de cadena = uri.getQueryParameter("edad"); get El valor pasado por la URL. ---------- ---------- ---- Yo soy la línea divisoria ----- ---------- ------ - --- ---------- -Después de copiar el código, ¿le sorprende descubrir que si ingresa myapp://jp.app/openwith?name=zhangsanamp; ¿Es 404? ¿No es esto una mentira? Dueño, eres un bastardo. Primero verifique que el navegador que está utilizando no pueda abrirlo. Date por vencido y prueba con el navegador propio del sistema o Google Chrome. Definitivamente funcionará, si no, vuelve conmigo. Ja ja. ---------- ---------- ---- Yo soy la línea divisoria ----- ---------- ------ - --- ---------- -De repente me siento muy triste. Finalmente obtuve esta habilidad, pero no puede ser utilizada por navegadores de terceros. En esta era en la que la mayoría de los navegadores de Android están ocupados por terceros, debo decir que esto es una tragedia. A continuación, hablemos de por qué no se pueden utilizar navegadores de terceros. Lo primero que descubrí fue UC Browser. Si usa su propio esquema en lugar de http, uc lo agregará delante de su esquema de forma predeterminada. Es realmente asombroso. No he comprobado si este es el caso en otros navegadores. Después de descubrir esto, intenté cambiar mi esquema a http y ejecutarlo nuevamente con grandes expectativas, pero los resultados aún fueron terribles. Entonces pensé, ¿podría ser que un navegador de terceros hubiera hecho algo con la URL? En este punto, no había nada que pudiera hacer. Probé UC, Cheetah y Opens y ninguno de los tres navegadores lo admite. Se admiten tanto el navegador propio del sistema como Google Chrome. La última pista es buscar la aplicación Baidu en tu navegador. Después de ingresar a su página, las aplicaciones locales instaladas se pueden iniciar en varios navegadores. Al ver esto, miré el código fuente de su página. Aquí, su página agrega una etiqueta data-sentitent. Al ver esto, debería poder juzgar que los navegadores de terceros no admiten sentintent de forma predeterminada y solo pueden iniciar el suyo propio. Según el front-end, esta etiqueta debe personalizarse. Observamos el código fuente en el front-end y descubrimos que el resultado final de esto debería ser primero aumentar un puerto en el lado de Baidu y luego habilitar un servicio en la aplicación para escuchar este puerto para obtener la intención. Probablemente eso es lo que significa. Sin embargo, el cartel en realidad no lo hizo funcionar. El proyecto requería demasiado tiempo y era demasiado problemático.