Intereting Posts
Виды с одинаковыми идентификаторами, получающими одинаковые атрибуты при восстановлении Android не может видеть устройства в домене «.local» Android: layout_weight = "33" как ушел -> видимый видимый-> пошел эффект? Как запустить файл .APK на эмуляторе Создание резервной копии базы данных на SDCard на Android Рекурсивный + 900 элементов + проверка соседа = вызывает stackoverflow Android: просмотр списка идентификаторов Как я могу создать безопасный API / Аутентификация для мобильных приложений для доступа к службе? Передача параметров с помощью HttpURLConnection Написание сценария Gradle для запуска модульных тестовых примеров для проекта Eclipse Android Test Как Snapchat обнаруживает XPosed Framework? Произошло слияние Как предотвратить двойное нажатие на ListView? Производительность Android xml vs java Открытое приложение для Android-разработчиков google для Android, получающее инструкции, начиная с текущей позиции

Как я могу заставить webview использовать манифест кэша HTML5?

На устройствах Android вплоть до 4.4.2 браузер по умолчанию и Chrome поддерживают манифест кэша HTML5. Однако на тех же устройствах компонент WebView, похоже, не поддерживает манифест кэша HTML5. Кто-нибудь знает, как я могу заставить компонент WebView поддерживать манифест HTML5?

Solutions Collecting From Web of "Как я могу заставить webview использовать манифест кэша HTML5?"

webView.getSettings().setDomStorageEnabled(true); // Set cache size to 8 mb by default. should be more than enough webView.getSettings().setAppCacheMaxSize(1024*1024*8); // This next one is crazy. It's the DEFAULT location for your app's cache // But it didn't work for me without this line webView.getSettings().setAppCachePath("/data/data/"+ getPackageName() +"/cache"); webView.getSettings().setAllowFileAccess(true); webView.getSettings().setAppCacheEnabled(true); webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 

Попробуйте этот код:

 private void enableHTML5AppCache() { webView.getSettings().setDomStorageEnabled(true); // Set cache size to 8 mb by default. should be more than enough webView.getSettings().setAppCacheMaxSize(1024*1024*8); // This next one is crazy. It's the DEFAULT location for your app's cache // But it didn't work for me without this line webView.getSettings().setAppCachePath("/data/data/"+ getPackageName() +"/cache"); webView.getSettings().setAllowFileAccess(true); webView.getSettings().setAppCacheEnabled(true); webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); } 

Вот ссылка.

 @Override public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) { // The magic redirect if( "http://HTML5app.com/app/".equals(failingUrl) ) { // main.html is the place we are redirected to by the server if we are online mWebView.loadUrl("http://HTML5app.com/app/main.html"); return; } else if( "http://HTML5app.com/app/main.html".equals(failingUrl) ) { // The cache failed - We don't have an offline version to show // This code removes the ugly android's "can't open page" // and simply shows a dialog stating we have no network view.loadData("", "text/html", "UTF-8"); showDialog(DIALOG_NONETWORK); } } 

Вышеуказанный метод будет использоваться для обработки перенаправления в автономном сценарии. [Для реализации appcache и пути см. Предыдущий комментарий.

Ссылка Ссылка: механизм кэша HTML5 в android