2013-01-31 19 views
7

Tworzę aplikację hybrydową, używając stron android i offline html5 w zasobie Android. navigator.online nie działa w przeglądarce Android.HTML5 navigator.online nie działa w WebView

Proszę o pomoc

+1

Czy kiedykolwiek znaleźć rozwiązanie tego? – MikeMurko

+0

Niedziałając, masz na myśli to, że jest niezdefiniowany, lub że zachowanie jest niespójne? Mam problem, który przypomina ten drugi. –

+0

Hej @mercury, proszę przyjąć odpowiedź użytkownika1732313. – gaurav414u

Odpowiedz

1

warto dodać następujący wiersz kodu dla swoich imprez

document.addEventListener("online", onOnline, false); 
document.addEventListener("offline", onOffline, false); 

upewnij się, sprawdź wartości w funkcjach function onOnline(){} & function onOffline(){}

+0

Próbowałem już tego, ale bez powodzenia – mercury

+0

jakiej wersji Androida używasz? – nsgulliver

+0

Wersja systemu operacyjnego na urządzeniu z systemem Android to 2.3.6, a aplikacja zbudowana dla wersji docelowej to 2.1 – mercury

5

Jeśli ktoś jest nadal szukając tego. Rozwiązaniem było dla mnie zarejestrowanie odbiornika telewizyjnego w mojej działalności w celu wykrycia zmiany połączenia.

@Override 
protected void onPause() { 
    super.onPause(); 

    if (connectivityChangeReceiver!=null) unregisterReceiver(connectivityChangeReceiver); 
} 

@Override 
protected void onResume() 
{ 
    super.onResume(); 

    IntentFilter intentFilter = new IntentFilter("android.net.conn.CONNECTIVITY_CHANGE"); 
    registerReceiver(connectivityChangeReceiver,intentFilter); 
} 

private BroadcastReceiver connectivityChangeReceiver = new BroadcastReceiver() { 

    public void onReceive(Context context, Intent intent) 
    { 
     mWebView.setNetworkAvailable(isNetworkAvailable(context)); 
    } 
}; 
+0

Niesamowity człowiek. Zrobiłeś mój dzień. – gaurav414u

+0

Tak, człowieku, jesteś absolutnie pomocny. Dzięki :) – ans4175

1

Czy jesteś pewien, że nie mylisz pisowni?

powinno być navigator.onLine (camelCase)

0

Upewnij się, że podasz poniżej uprawnień w pliku AndroidMenifest.xml:

<uses-permission android:name="android.permission.INTERNET /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
Powiązane problemy