2015-05-07 16 views
7

Próbuję dowiedzieć się, jakie są poprawne ustawienia, aby włączyć appcache na stronie internetowej Android. Znalazłem wiele dyskusji na ten temat, ale żaden z nich nie zadziałał.Ustawienia poprawne AppCache dla Androida WebView

Biorąc pod uwagę, że pamięć podręczną aplikacji jest ustawiony prawidłowo (to działa w Chrome), moje złe ustawienia na WebView są następujące:

mWebView = (WebView) findViewById(R.id.activity_main_webview); 
WebSettings webSettings = mWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true); 
webSettings.setDatabaseEnabled(true); 
webSettings.setDomStorageEnabled(true); 
webSettings.setAllowFileAccess(true); 
webSettings.setAppCachePath("/data/data/"+ getPackageName() +"/cache"); 
webSettings.setCacheMode(WebSettings.LOAD_DEFAULT); 
webSettings.setAppCacheEnabled(true); 
webSettings.setSupportMultipleWindows(true); 
mWebView.setVerticalScrollBarEnabled(false); 
mWebView.loadUrl("http://www.myapp.com"); 

Każdy pomysł, dlaczego to nie działa?

+1

Czy możesz opisać nie działa? Czego oczekujesz i co się dzieje? –

+1

Czego oczekuję: moja aplikacja działa w trybie offline. Co otrzymuję: aplikacja nie działa w trybie offline, ale działa poprawnie w przeglądarkach mobilnych. – BillyBelly

Odpowiedz

16

znalazł rozwiązanie:

Ścieżka aplikacja cache nie został prawidłowo ustawiony. Jestem teraz za pomocą kodu follownig zdefiniować ścieżkę:

String appCachePath = activity.getCacheDir().getAbsolutePath(); 
webSettings.setAppCachePath(appCachePath); 

Zamiast starej wersji:

webSettings.setAppCachePath("/data/data/"+ getPackageName() +"/cache"); 

Nadzieja będą przydatne dla innych deweloperów :)

+0

Przydało mi się, dziękuję bardzo, przydało się – Kyle