我有一个从网站加载网址的应用程序。现在,我希望该应用程序在脱机时使用缓存。但是我只得到失败页面,该页面显示即时消息未连接到该网站。最初,我将Cachemode设置为Load_Normal,但这无济于事。接下来,我使用ConnectivityManager尝试了一种真正的“愚蠢”方法:
cm = (ConnectivityManager) this.getSystemService(Activity.CONNECTIVITY_SERVICE);
if(cm.getActiveNetworkInfo().isConnected()){
mfnWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
mfnWebView.loadUrl(url);
}
else{
mfnWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);
mfnWebView.loadUrl(url);
}
但这只会导致应用程序崩溃。
有没有一种简单的方法可以在脱机和现有状态下加载缓存,甚至在不存在时显示失败消息。
最佳答案
好的。上面的代码很好。需要添加的权限是:
。互联网
.ACCESS_NETWORK_STATE
.ACCESS_WIFI_STATE
关于android - 在Android Webview中离线时加载缓存,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3787800/