我在使用設備上的靜態IP時檢測Internet連接的問題很少。雖然我沒有設置任何靜態IP連接我的功能來檢測可用的連接工作正常。但是,當我設置靜態IP時,該函數返回true,因爲我連接到Wifi或3G,但我沒有任何互聯網連接,所以我的應用程序在這種情況下崩潰。任何想法如何解決這個問題,同時使用靜態IP? 這裏是我使用的是什麼:使用靜態IP時的Android校驗網絡連接
public boolean chkNetworkStatus(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity == null) {
Toast.makeText(context, "No available connection!", Toast.LENGTH_LONG);
} else {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}
}
}
}
return false;
}
你的粘貼代碼是正確的,所以可能是你的問題不在這裏。 – idiottiger 2012-01-09 08:39:30
它不在代碼中。當我不使用靜態IP時,一切正常,但如果我設置了使用靜態選項,我甚至不能在設備上打開網站,但網絡檢查通過時是正確的,因爲我已連接到Wifi或3G,但我無法訪問互聯網。這就是它崩潰的原因。 – 2012-01-09 08:59:41
信息[I] .getState()== NetworkInfo.State.CONNECTED只檢查連接在'網絡,但是不能識別可以連接到web', 公共布爾isConnected() 自:API級別1 指示是否存在網絡連接,並且可以建立連接並傳遞數據。 – idiottiger 2012-01-09 09:13:43