Android Webview提供net :: ERR_CACHE_MISS消息

zeh*_*ata 115 android webview android-studio android-5.1.1-lollipop

我构建了一个Web应用程序,并希望创建一个具有显示我的Web应用程序的webview的Android应用程序.按照Google Developer的说明创建应用后,我使用Android 5.1.1成功将其安装在手机上.

但是,当我第一次运行应用程序时,webview会显示以下消息:

网页无法显示

无法加载http://www.google.com.sg上的网页:

网:: ERR_CACHE_MISS

在Google上搜索了一段时间并尝试解决方案之后,我仍然坚持这个错误.我已经包含了所有必需的权限,因此不应该这样做.我的Android Studio也已全面更新,因此并非如此.

小智 267

我通过改变我的问题来解决问题AndroidManifest.xml.

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

  • 我总是忘记:) (3认同)
  • 没有互联网,但有互联网!大的那个!:) (2认同)

zeh*_*ata 42

答案汇总!我想将所有答案合并为一个综合答案。

1.检查 中是否<uses-permission android:name="android.permission.INTERNET" />存在manifest.xml确保它嵌套在 下<manifest>而不是<application>。感谢sajid45Liyanis Velazquez

2.确保您使用<uses-permission android:name="android.permission.INTERNET"/>的是已弃用的<uses-permission android:name="android.permission.internet"/>. 非常感谢alan_shicreos

3.如果最低版本低于 KK,请检查您是否有

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

或者

if (Build.VERSION.SDK_INT >= 19) {
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}
Run Code Online (Sandbox Code Playgroud)

因为正确的 webview 仅在 KK (SDK 19) 中添加。感谢Devavrata , Mike ChanSeong KimLiyanis Velazquez

4.确保您没有webView.getSettings().setBlockNetworkLoads (false);. 感谢TechNikh指出这一点。

5.如果所有其他方法都失败了,请确保您的 Android Studio、Android SDK 和模拟器映像(如果您正在使用)已更新。如果您仍然遇到问题,只需打开一个新问题并在下面对您的 URL 发表评论。


小智 21

我尝试了上面的解决方案,但以下代码帮助我解决了这个问题.

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


小智 17

对于与互联网相关的任何内容,您的应用必须拥有ManifestFile中的互联网权限.我通过添加权限解决了这个问题AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />
Run Code Online (Sandbox Code Playgroud)


xgq*_*rms 11

Android WebView 修复ERR_CACHE_MISS错误解决方法

您只需要<uses-permission android:name="android.permission.INTERNET"/>app/src/main/AndroidManifest.xml文件中添加一行代码,如下面的屏幕截图所示。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明


小智 10

要解决Android Webview中的这个错误,首先检查Manifest.xml中的权限,如果没有定义,则像这样定义。 <uses-permission android:name="android.permission.INTERNET"/>


Dev*_*ata 9

if (Build.VERSION.SDK_INT >= 19) {
        mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
    }
Run Code Online (Sandbox Code Playgroud)

它应该解决错误。


小智 8

还要确保您的代码对于 setBlockNetworkLoads 没有 true

webView.getSettings().setBlockNetworkLoads (false);
Run Code Online (Sandbox Code Playgroud)


小智 7

我遇到了类似的问题,那只是因为额外的空格:

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

删除后效果很好:

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