2013-01-31 10 views
7

Android öğesinde android ve çevrimdışı html5 sayfalarını kullanarak karma bir uygulama oluşturuyorum. Android Webview'de navigator.online çalışmıyor.HTML5 navigator.online WebView'da çalışmıyor

kimse hala ise

+1

Hiç bu bir çözüm buldunuz mu? – MikeMurko

+0

Çalışmıyorken, tanımlanmamış olduğunu mu yoksa davranışın tutarsız mı olduğunu mu söylüyorsunuz? Ben ikincisine benzer bir sorun yaşıyorum. –

+0

Hey @mercury, Lütfen kullanıcı1732313'ün cevabını kabul edin. – gaurav414u

cevap

1

Eğer

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

fonksiyonların function onOnline(){} & function onOffline(){}

+0

Zaten bunu denedim ama hiçbir başarı – mercury

+0

Android'in hangi sürümünü kullanıyorsunuz? Android cihaz üzerinde – nsgulliver

+0

OS sürümü 2.3.6 ve hedef sürümü için oluşturulan uygulama 2.1 – mercury

5

değerleri kontrol ettiğinizden emin olun sizin etkinlikler için aşağıdaki kod satırını eklemek isteyebilirsiniz yardım edin Bunu aramak için. Benim için çözüm, bağlantı değişikliğini algılamak için etkinliğimde bir yayın alıcısını kaydetmekti.

@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. Benim günümü yaptın. – gaurav414u

+0

Evet adamım, kesinlikle yardımcın var. Teşekkürler :) – ans4175

1

Yazım denetimi yapmadığınızdan emin misiniz?

o

0

Eğer AndroidMenifest.xml dosyasındaki izinlerle Aşağıda vermiş olduğundan emin olun navigator.onLine (camelCase) olmalıdır:

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