4

インターネットに接続せずに、webview を介していくつかの Web ページを表示しようとしています。インターネットに接続していない場合は、Web ページをキャッシュに保存し、キャッシュから再度読み込むことができると考えました。しかし、それは機能していません。Web サイトが表示されません。代わりに、Web サイトが現在利用できないことがわかります。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");
}
4

1 に答える 1

3

webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); で試すことができます。

于 2011-11-28T17:09:07.787 に答える