Почему Android WebView не проверяет кеш по умолчанию? - PullRequest
9 голосов
/ 19 января 2012

У меня есть веб-просмотр с использованием кэширования приложений. Я запустил приложение с подключением к сети, чтобы загрузить / кэшировать страницу. Теперь, после выключения Wi-Fi (и 3g - без подключения к сети) и запуска приложения, я получаю страницу «Android не может загрузить страницу». Как ни странно, если я затем перезагрузить веб-просмотр, он загружает страницу из кэша. Почему он не загружает эту страницу из кэша, если не может подключиться к сети?

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

webview.getSettings().setDomStorageEnabled(true);
webview.getSettings().setAppCacheMaxSize(1024*1024*8);
webview.getSettings().setAppCachePath("/data/data/com.my.package/cache");
webview.getSettings().setAllowFileAccess(true);
webview.getSettings().setAppCacheEnabled(true);

Я пытался добавить в:

weview.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 

но это не помогло.

1 Ответ

0 голосов
/ 08 августа 2013

Проверьте, не является ли запрашиваемый вами URL перенаправлением.Если это так, кеш будет также указывать на это перенаправление, и WebView не будет читать результирующее перенаправление из кеша.

Мне потребовалось некоторое время, чтобы выяснить, что именно это происходиломой случай.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...