Android Webview提供net :: ERR_CACHE_MISS消息

时间:2015-06-04 07:30:42

标签: android android-studio webview android-5.1.1-lollipop

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

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

  

网页不可用

     

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

     

净:: ERR_CACHE_MISS

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

10 个答案:

答案 0 :(得分:212)

我通过更改 AndroidManifest.xml 来解决问题。

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

答案 1 :(得分:33)

答案汇总!我只想将所有答案组合成一个全面的答案。

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);
}

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

因为仅在KK(SDK 19)中添加了正确的Web视图。感谢DevavrataMike ChanSeong KimLiyanis Velazquez

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

5。。如果其他所有方法均失败,请确保更新了Android Studio,Android SDK和仿真器映像(如果使用的是映像)。而且,如果您仍然遇到问题,只需打开一个新问题,然后在下面的URL中添加评论即可。

答案 2 :(得分:16)

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

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

答案 3 :(得分:14)

对于与互联网相关的任何内容,您的应用必须拥有ManifestFile的互联网权限。我通过在AndroidManifest.xml

中添加权限解决了这个问题
<uses-permission android:name="android.permission.INTERNET" />

答案 4 :(得分:6)

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

答案 5 :(得分:5)

Android WebView修复ERR_CACHE_MISS错误解决方案

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

enter image description here

  1. 之前

enter image description here

  1. 之后

enter image description here

答案 6 :(得分:3)

我找到了问题的答案。这是因为我意外地在AndroidManifest.xml中的应用程序中嵌套了权限。

@Bidhan虽然我没有使用评论的内容,但感谢您的快速回复

答案 7 :(得分:2)

使用

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

它应该解决错误。

答案 8 :(得分:1)

还要确保您的代码对于setBlockNetworkLoads不正确

webView.getSettings().setBlockNetworkLoads (false);

答案 9 :(得分:1)

我遇到了类似的问题,这只是因为多余的空格:

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

删除后可以正常工作:

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