我建立了一个web应用程序,想要创建一个android应用程序,它有一个显示我的web应用程序的web视图。在遵循谷歌开发人员创建应用程序的说明后,我成功地将它安装在我的手机与android 5.1.1。

然而,当我第一次运行应用程序时,webview显示了消息:

网页不可用 无法加载[Lorem Ipsum URL]的网页,原因如下: net:: ERR_CACHE_MISS


当前回答

还要确保你的代码setBlockNetworkLoads没有true

webView.getSettings().setBlockNetworkLoads (false);

其他回答

Use

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和Liyanis Velazquez

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

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

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

or

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

因为只有在KK (SDK 19)中才添加了适当的webview。感谢Devavrata, Mike ChanSeong Kim和Liyanis Velazquez

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

5. 如果所有这些都失败了,请确保您的Android Studio, Android SDK和模拟器图像(如果您正在使用的话)已更新。如果你仍然遇到这个问题,只要打开一个新问题,并在你的URL下面发表评论。

我通过修改AndroidManifest.xml解决了这个问题。

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

还要确保你的代码setBlockNetworkLoads没有true

webView.getSettings().setBlockNetworkLoads (false);

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

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