'Webpage not available' con WebView.loadData () SOLAMENTE en el emulador
Estoy llamando a loadData
en mi WebView
y pasándolo un poco de HTML en la forma de una cadena así:
webView.loadData( htmlString, "text/html", "utf-8" );
Funciona bien en mi Galaxy Tab 10.1, pero el WebView
muestra:
- Medir una vista antes de renderizarla y obtener un espacio remanente (Android)
- Cargar archivo .HTML local con WebView
- Activar opción de zoom en WebView Android
- ¿Agente de usuario móvil de Android?
- WebView con una barra de herramientas plegable? (Diseño del material)
Webpage not available
Cuando se ejecuta en el emulador con todo configurado para que coincida con mi Galaxy Tab. La configuración de android.permission.INTERNET
en el manifiesto no tiene efecto, aunque no debería necesitar ese permiso ya que estoy procesando HTML en memoria y no accedo a nada a través de la conexión de datos.
¿Que esta pasando?
- Al seleccionar una imagen, la aplicación se reinicia en S3
- OnPageFinished () nunca llamado (webview)!
- Cambiar el color de arrastrar cursor del cuadro de entrada de webview de android
- ¿Puede una WebView de Android hacer una animación translationX con aceleración de hardware?
- WebView loadUrl sólo funciona una vez
- Lógica para usar varias vistas web en TabLayout para manejar problemas de memoria
- Android - Descargar e instalar el archivo apk en Webview
- ¿Cómo desactiva webview una vez adjunto?
Pruebe con este código
webView.loadData( URLEncoder.encode(htmlString).replaceAll("\\+"," "), "text/html", "utf-8" );
Insted de
webView.loadData( htmlString, "text/html", "utf-8" );
Debe funcionar, porque a veces el carácter como '%', '\', '#' crea problema si no está correctamente codificado
En las plataformas 2.x
, loadData()
falla en algunos casos (requiere que el html se escape), use loadDataWithBaseURL()
y pase null
para baseUrl
y historyUrl
:
webView.loadDataWithBaseURL(null, htmlString, "text/html", "utf-8", null);
En realidad gracias por @Viraj por la respuesta.
Actualmente, Google desprecia lo anterior y deberías usarlo en su lugar:
webView.loadData(URLEncoder.encode(mAdvertisement.getContent(), "UTF-8").replaceAll("\\+", " "), "text/html", "UTF-8");
- Cómo utilizar Intent.ACTION_APP_ERROR como medio para un marco de "retroalimentación" en Android?
- ActionBarSherlock setCustomView no funciona en Android 3.2