Answers:
我通过改变我的问题解决了这个问题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);
}
Build
和mweb
vars 在哪里?
答案汇总!我只想将所有答案组合成一个全面的答案。
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中添加评论。
用
if (Build.VERSION.SDK_INT >= 19) {
mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
}
它应该解决错误。
WebSettings.LOAD_NO_CACHE