He visto varias discusiones sobre el problema de dar servicio a páginas de WebView desde activos, ninguna de las cuales parecía definitiva.¿Mostrar archivos de activos de Android en un WebView?
Quiero poder usar una vista web para visualizar archivos html (y css incluidos) almacenados en los recursos del proyecto.
He encontrado que wv.loadUrl ("archivo: ///android_asset/html_no_copy/demo_welcome.html") muestra ese archivo bien, pero los enlaces en demo_welcome.html, ya sea local (sin url prefijando el nombre del archivo) o absolute - la misma forma que fed a loadUrl - no funciona. Obtienen un error de "página web no disponible" que se muestra en la vista.
WebView wv = (WebView)this.findViewById(R.id.splashWebView);
wv.loadUrl("file:///android_asset/html_no_copy/test.html"); // Works
o
wv.loadUrl("file:///android_asset/html_no_copy/demo_welcome.html"); // Works
Pero ninguno de los siguientes enlaces en demo_welcome.html trabajo:
<a href="test.html">CLICK HERE</a><p>
<a href="file:///android_asset/html_no_copy/test.html">OR HERE</a>
Sé que puedo evitar esto mediante la escritura de un proveedor de contenidos, pero que parece extremo.
Quiero que esto funcione desde SDK 1.6 (4) en adelante.
¿Alguien sabe si esto se puede hacer solo con HTML, o uno necesita codificar algún código para cargar los datos?
Hola Stephane, ¿cuál es el html objeto por el que estás pasando? ¿El primer argumento no se usa? –
+1 Esto funcionó para mí. El primer argumento es solo una URL base falsa. Puede ser cualquier cosa. Y 'html' es la cadena que contiene el código HTML. – Kayla
Sucio y no responde la pregunta. –