![](/img/trans.png)
[英]Android WebView on a single .html file gives “net::ERR_CACHE_MISS”
[英]Android Webview gives net::ERR_CACHE_MISS message
我构建了一个网络应用程序,并希望创建一个具有显示我的网络应用程序的 web 视图的 android 应用程序。 按照 Google Developer 的说明创建一个应用程序后,我成功地将它安装在我的手机上,Android 5.1.1。
但是,当我第一次运行该应用程序时,webview 会显示以下消息:
网页无法显示
[Lorem Ipsum URL] 的网页无法加载为:
网络::ERR_CACHE_MISS
我通过更改我的AndroidManifest.xml
解决了这个问题。
旧: <uses-permission android:name="android.permission.internet"/>
新: <uses-permission android:name="android.permission.INTERNET"/>
答案汇总! 我想将所有答案合并为一个综合答案。
1.检查manifest.xml
是否存在<uses-permission android:name="android.permission.INTERNET" />
。 确保它嵌套在<manifest>
而不是<application>
。 感谢sajid45和Liyanis Velazquez
2.确保您使用的是<uses-permission android:name="android.permission.INTERNET"/>
而不是已弃用的<uses-permission android:name="android.permission.internet"/>
。 非常感谢alan_shi和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);
}
因为正确的 webview 仅在 KK (SDK 19) 中添加。 感谢Devavrata , Mike ChanSeong Kim和Liyanis Velazquez
4.确保你没有webView.getSettings().setBlockNetworkLoads (false);
. 感谢TechNikh指出这一点。
5.如果所有其他方法都失败了,请确保您的 Android Studio、Android SDK 和模拟器映像(如果您正在使用)已更新。 如果您仍然遇到问题,只需打开一个新问题并在下面对您的 URL 发表评论。
我尝试了上述解决方案,但以下代码可帮助我解决此问题。
if (18 < Build.VERSION.SDK_INT ){
//18 = JellyBean MR2, KITKAT=19
mWeb.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
}
对于与 Internet 相关的任何内容,您的应用程序必须在 ManifestFile 中具有 Internet 权限。 我通过在AndroidManifest.xml
添加权限解决了这个问题
<uses-permission android:name="android.permission.INTERNET" />
要解决Android Webview中的这个错误,首先检查Manifest.xml中的权限,如果没有定义,则像这样定义。 <uses-permission android:name="android.permission.INTERNET"/>
用
if (Build.VERSION.SDK_INT >= 19) {
mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}
它应该解决错误。
还要确保您的代码对于 setBlockNetworkLoads 没有 true
webView.getSettings().setBlockNetworkLoads (false);
我找到了问题的答案。 这是因为我意外地在AndroidManifest.xml
嵌套了应用程序中的权限。
@Bidhan虽然我没有使用评论,感谢您的快速回复
我遇到了类似的问题,这只是因为多余的空格:
<uses-permission android:name="android.permission.INTERNET "/>
删除后可以正常工作:
<uses-permission android:name="android.permission.INTERNET"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.