【问题标题】:Android Load Cache Only is not working. Show WebView offline [duplicate]Android 仅加载缓存不起作用。离线显示 WebView [重复]
【发布时间】:2011-11-06 08:39:59
【问题描述】:

我正在尝试通过 webview 显示一些网页而不连接到互联网。我想如果没有连接到互联网,我可以将网页保存在缓存中并再次从缓存中加载它们。但它不起作用。该网站没有出现,而是我知道该网站现在不可用。我已经检查了AppCachePath 是否与getCacheDir() 正确。你有什么想法,我做错了什么,或者它是如何工作的。将会是完美的。非常感谢。

webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAppCacheMaxSize(1024*1024*8);
webView.getSettings().setAppCachePath("/data/data/de.app/cache");
webView.getSettings().setAllowFileAccess(true);
webView.getSettings().setAppCacheEnabled(true);

webView.setWebChromeClient(new WebChromeClient() {
    @Override
    public void onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota,
                                         WebStorage.QuotaUpdater quotaUpdater)
    {
        quotaUpdater.updateQuota(spaceNeeded * 2);
    }
});

ConnectivityManager cm =
(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
if(cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected() == true)
{
    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);
    webView.loadUrl("http://www.google.de");
}
else{
    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY);
    webView.loadUrl("http://www.google.de");
}

【问题讨论】:

  • 您找到解决此问题的方法了吗?

标签: android caching webview android-webview offline-caching


【解决方案1】:

您可以尝试使用 webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

【讨论】:

    猜你喜欢
    • 2011-12-22
    • 2011-04-16
    • 1970-01-01
    • 2015-12-15
    • 1970-01-01
    • 1970-01-01
    • 2012-07-07
    • 2015-05-27
    相关资源
    最近更新 更多