我构建了一个Web应用程序,并希望创建一个具有显示我的Web应用程序的webview的Android应用程序。按照Google Developer的说明创建应用后,我已成功将其安装在Android 5.1.1手机上。
但是,当我第一次运行应用程序时,webview会显示消息:
网页不可用
http://www.google.com.sg处的网页无法加载为:
净:: ERR_CACHE_MISS
在谷歌搜索了一段时间并尝试解决方案后,我仍然坚持这个错误。我已经包含了所需的所有权限,因此不应该这样做。我的Android Studio也已全面更新,因此并非如此。
答案 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>
下。感谢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);
}
因为仅在KK(SDK 19)中添加了正确的Web视图。感谢Devavrata,Mike ChanSeong Kim和Liyanis 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)
ERR_CACHE_MISS
错误解决方案您只需要在<uses-permission android:name="android.permission.INTERNET"/>
文件中添加一行代码app/src/main/AndroidManifest.xml
,如下图所示。
答案 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"/>