Я пытаюсь получить автономную кэшированную версию веб-сайта HTML5 для отображения, когда сеть не работает внутри веб-просмотра.
Я переопределил onReceivedError
нормально, и когда сеть не работает, этот метод вызывается.
Проблема в том, что отображается стандартное сообщение «Веб-страница недоступна».
Как я могу заставить его отображать кешированную версию страницы HTML5? Автономное хранилище веб-приложения определенно работает, поскольку оно отлично работает в настольной версии Firefox и Chrome.
Я знаю, что могу вызвать loadData
в представление вручную в onReceivedError
, но я не уверен, откуда я могу получить кешированное значение HTML5.
Примечание. Если я установил фиктивные данные в loadData
, например view.loadData (Uri.encode ("
, а затем щелкните назад (обнаружив обратное событие и вызвав webview.goBack ();
, то будет сохранена кешированная версия страницы. отображается нормально.
Вот несколько строк кода, которые я добавил для настройки веб-просмотра:
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);