La vista web de Android muestra el mensaje net :: ERR_CACHE_MISS


152

Creé una aplicación web y quiero crear una aplicación de Android que tenga una vista web que muestre mi aplicación web. Después de seguir las instrucciones del desarrollador de Google para crear una aplicación, la instalé con éxito en mi teléfono con Android 5.1.1.

Sin embargo, cuando ejecuto la aplicación por primera vez, la vista web muestra el mensaje:

página web no disponible

La página web en [URL de Lorem Ipsum] no se pudo cargar como:

net :: ERR_CACHE_MISS


Tal vez este enlace lo ayudará a stackoverflow.com/questions/25664146/…
Bidhan

Respuestas:


334

Resolví el problema cambiando mi AndroidManifest.xml.

viejo: <uses-permission android:name="android.permission.internet"/>
nuevo:<uses-permission android:name="android.permission.INTERNET"/>


hombre, me salvaste el día! Después de la actualización a Cordova 7.0.1, no funcionaba XHR. Agregué esto manualmente al manifiesto y ... ¡boom! :)
Radacina

55
No hay internet, pero INTERNET! ¡El Grande! :)
Mike Keskinov

27

Intenté la solución anterior, pero el siguiente código me ayudó a cerrar este problema.

if (18 < Build.VERSION.SDK_INT ){
    //18 = JellyBean MR2, KITKAT=19
    mWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}

¿Dónde está esto Buildy mwebvars?
Michael Pacheco

@MichaelPacheco Build es del sistema Android y mweb es el objeto webview
Acauã Pitta

24

Para cualquier cosa relacionada con Internet, su aplicación debe tener el permiso de Internet en ManifestFile. Resolví este problema agregando permiso enAndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

18

Respuestas reunidas! Solo quería combinar todas las respuestas en una completa.

1. Compruebe si <uses-permission android:name="android.permission.INTERNET" />está presente en manifest.xml. Asegúrese de que esté anidado debajo <manifest>y no<application> . Gracias a sajid45 y Liyanis Velazquez

2. Asegúrese de que está utilizando en <uses-permission android:name="android.permission.INTERNET"/>lugar de la obsoleta <uses-permission android:name="android.permission.internet"/>. Muchas gracias a alan_shi y Creos .

3. Si la versión mínima es inferior a KK, verifique que tenga

if (18 < Build.VERSION.SDK_INT ){
    //18 = JellyBean MR2, KITKAT=19
    mWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}

o

if (Build.VERSION.SDK_INT >= 19) {
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}

porque la vista web adecuada solo se agrega en KK (SDK 19). Gracias a Devavrata , Mike ChanSeong Kim y Liyanis Velazquez

4. Asegúrese de que no tiene webView.getSettings().setBlockNetworkLoads (false);. Gracias a TechNikh por señalar esto.

5. Si todo lo demás falla, asegúrese de que su Android Studio, Android SDK y la imagen del emulador (si está usando uno) estén actualizados. Y si todavía está resolviendo el problema, simplemente abra una nueva pregunta y haga un comentario debajo de su URL.


Hola zehata No agregue comentarios o consejos de votación a las publicaciones. La mayoría de los lectores ni siquiera inician sesión, y mucho menos votan, por lo que no es información útil para la mayoría de los lectores. Deje que la gente vote orgánicamente.
halfer

8

Utilizar

if (Build.VERSION.SDK_INT >= 19) {
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    }

Debería resolver el error.


Esta respuesta me ayudó mucho, gracias. Pero yo usoWebSettings.LOAD_NO_CACHE
Alexander Skvortsov

6

También asegúrese de que su código no sea verdadero para setBlockNetworkLoads

webView.getSettings().setBlockNetworkLoads (false);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.