отображение кэшированной версии веб-просмотра в android.

Я пытаюсь получить автономную кэшированную версию веб-сайта HTML5 для отображения, когда сеть не работает внутри веб-просмотра.

Я переопределил onReceivedError нормально, и когда сеть не работает, этот метод вызывается. Проблема в том, что отображается стандартное сообщение «Веб-страница недоступна».

Как я могу заставить его отображать кешированную версию страницы HTML5? Автономное хранилище веб-приложения определенно работает, поскольку оно отлично работает в настольной версии Firefox и Chrome.

Я знаю, что могу вызвать loadData в представление вручную в onReceivedError , но я не уверен, откуда я могу получить кешированное значение HTML5.

Примечание. Если я установил фиктивные данные в loadData , например view.loadData (Uri.encode ("

Загрузка страницы не удалась
")," text / html "," UTF-8 "); , а затем щелкните назад (обнаружив обратное событие и вызвав 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);
9
задан Marty 15 December 2011 в 04:56
поделиться