我試圖讓網絡的HTML5離線緩存版本在webview內部關閉時顯示。在android中顯示webview的緩存版本
我已經覆蓋onReceivedError
ok,並且當網絡關閉時調用此方法。 問題是它顯示通用的「網頁不可用」消息。
如何獲取它以顯示HTML5緩存版本的頁面? Web應用程序的離線存儲器可以正常工作,因爲它可以在桌面版Firefox和Chrome中正常工作。
我知道我可以在onReceivedError
手動調用loadData
進入視圖,但我不知道從哪裏可以獲取HTML5緩存值。
注:如果我在loadData
如view.loadData(Uri.encode("<html><div>Page load failed</div></html>"), "text/html", "UTF-8");
,然後單擊後退(設置一些虛擬的數據通過檢測回事件,並呼籲webview.goBack();
那麼頁面的緩存版本的顯示OK
下面是一些代碼行。我加入到設置web視圖:
webview.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);
webview.getSettings().setAppCacheMaxSize(1024*1024*8);
webview.getSettings().setAppCachePath("/data/data/com.stuff.android/cache");
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setAppCacheEnabled(true);
webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setJavaScriptEnabled(true);
這可能是「最乾淨」的解決方案,所以生病給你的賞金點:) – Marty