2010-09-24 13 views
14

Mam aplikację, która ładuje adresy URL ze strony internetowej. Teraz chcę, aby aplikacja korzystała z pamięci podręcznej w trybie offline. Ale po prostu dostaję stronę błędu, która mówi, że nie jestem podłączony do strony. Najpierw ustawiłem Cachemode na Load_Normal, ale to nie pomaga. Następnie próbowałem naprawdę "głupiego" podejścia, korzystając z ConnectivityManager:, ale to po prostu powoduje awarię aplikacji.Ładowanie pamięci podręcznej w trybie offline w przeglądarce Android Web View

Czy istnieje prosty sposób na załadowanie pamięci podręcznej w trybie offline i istniejącym, a jeśli nie istnieje, wyświetlenie komunikatu o błędzie.

Odpowiedz

15

OK. Kod jest w porządku powyżej. Pozwolenie potrzebne do dodania to:

.INTERNET

.ACCESS_NETWORK_STATE

.ACCESS_WIFI_STATE

9

oprócz uprawnień

.INTERNET

.ACCESS_NETWORK_STATE

.ACCESS_WIFI_STATE

wspomniano w innym odpowiedź, ja również potrzebne następujące zmiany w kodzie:

if(cm != null && cm.getActiveNetworkInfo() != null && cm.getActiveNetworkInfo().isConnected()){ 
    webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 
} 
else{ 
    webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 
} 

przeciwnym wypadku aplikacja będzie katastrofy, gdy próbuje uzyskać informacje na temat pierwszego uruchomienia sieci, jeśli nie zostały połączone do Wi-Fi lub sieci komórkowej.