2013-01-31 14 views
7

Ich erstelle eine Hybrid-Anwendung mit Android und offline html5 Seiten in Android Asset. navigator.online funktioniert nicht in Android Webview.HTML5 navigator.online funktioniert nicht in WebView

Bitte helfen

+1

Haben Sie jemals eine Lösung für diese finden? – MikeMurko

+0

Wenn Sie nicht arbeiten, meinen Sie, dass es nicht definiert ist oder dass das Verhalten inkonsistent ist? Ich habe das Problem, das dem Letzteren ähnelt. –

+0

Hey @ mercury, Bitte akzeptieren Sie die Antwort von user1732313. – gaurav414u

Antwort

1

Sie möglicherweise die folgende Codezeile für Ihre Veranstaltungen

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

stellen Sie sicher, überprüfen Sie die Werte in den Funktionen function onOnline(){} & function onOffline(){}

+0

Ich habe das schon versucht aber kein Erfolg – mercury

+0

welche Version von Android verwenden Sie? – nsgulliver

+0

OS-Version auf Android-Gerät ist 2.3.6 und Anwendung für Zielversion gebaut ist 2.1 – mercury

5

Wenn jemand noch hinzufügen wollen, ist Suche nach diesem. Die Lösung für mich bestand darin, einen Broadcast-Empfänger in meiner Aktivität zu registrieren, um Verbindungsänderungen zu erkennen.

@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

Amazing man. Du hast meinen Tag gerettet. – gaurav414u

+0

Ja Mann, Sie sind absolut hilfreich. Vielen Dank :) – ans4175

1

Sind Sie sicher, dass Sie die Schreibweise nicht falsch verstehen?

es sollte navigator.onLine (Camelcase)

0

Vergewissern Sie sich, dass Sie unter Berechtigungen in der AndroidMenifest.xml-Datei zur Verfügung:

<uses-permission android:name="android.permission.INTERNET /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
Verwandte Themen