我试图让网络的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