我有一个从网站加载网址的应用程序。现在,我希望该应用程序在脱机时使用缓存。但是我只得到失败页面,该页面显示即时消息未连接到该网站。最初,我将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/

10-09 15:59