2013-01-31 38 views
7

我通過在android資源中使用android和脫機html5頁面來創建混合應用程序。 navigator.online在Android Webview中不起作用。HTML5 navigator.online無法在WebView中工作

請幫

+1

你有沒有找到一個解決這個? – MikeMurko

+0

由於不工作,你的意思是說它沒有定義,或者行爲不一致?我遇到類似於後者的問題。 –

+0

嗨@mercury,請接受user1732313的回答。 – gaurav414u

回答

1

你可能要添加以下代碼行的活動

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

請務必檢查在功能function onOnline(){} & function onOffline(){}

+0

我已經試過但沒有成功 – mercury

+0

你使用的是什麼版本的android? – nsgulliver

+0

Android設備上的操作系統版本是2.3.6,爲目標版本構建的應用程序是2.1 – mercury

5

值如果有人仍尋找這一個。對我來說,解決方案是在我的活動中註冊廣播接收器以檢測連接更改。

@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

令人驚歎的人。你讓我今天一整天都感覺很好。 – gaurav414u

+0

是的,你是絕對有幫助的。謝謝 :) – ans4175

1

你確定你沒有誤拼?

應該navigator.onLine(駝峯)

0

確保您提供下AndroidMenifest.xml文件權限:

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