Android 网络视图给出 net::ERR_CACHE_MISS 消息

Android Webview gives net::ERR_CACHE_MISS message

我构建了一个 Web 应用程序,并希望创建一个 android 应用程序,该应用程序具有显示我的 Web 应用程序的 Web 视图。按照 Google 开发人员的说明创建应用程序后,我成功地将它安装在我的 phone 上 Android 5.1.1.

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

Web page not available

The Web page at [Lorem Ipsum URL] could not be loaded as:

net::ERR_CACHE_MISS

我通过更改 AndroidManifest.xml.

解决了这个问题

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

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

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

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

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

还要确保您的代码没有 setBlockNetworkLoads

webView.getSettings().setBlockNetworkLoads (false);

使用

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

应该可以解决错误。

答案集齐!我想把所有的答案合并成一个综合的答案。

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

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

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)才添加了合适的webview。感谢Devavrata, Mike ChanSeong Kim and Liyanis Velazquez

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

5. 如果一切都失败了,请确保您的 Android Studio、Android SDK 和模拟器图像(如果您正在使用一个)已更新。如果您仍然遇到问题,只需打开一个新问题并在下面对您的 URL.

发表评论

Android WebView修复ERR_CACHE_MISS错误解决

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

  1. 之前

  1. 之后

我 运行 有类似的问题,那只是因为多余的空格:

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

删除后效果很好:

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

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