我有以下代碼用於檢查我的應用程序上的互聯網連接WiFi/EDGE/GPRS/3G。在Android上檢查互聯網連接
代碼
public static boolean checkConn(Context ctx) {
ConnectivityManager conMgr = (ConnectivityManager) ctx
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (conMgr.getNetworkInfo(0).getState() == NetworkInfo.State.CONNECTED
|| conMgr.getNetworkInfo(1).getState() == NetworkInfo.State.CONNECTING) {
return true;
} else if (conMgr.getNetworkInfo(0).getState()==NetworkInfo.State.DISCONNECTED
|| conMgr.getNetworkInfo(1).getState() == NetworkInfo.State.DISCONNECTED){
return false;
}
return false;
}
,我稱之爲象下面這樣:
if (CheckInternet.checkConn(introPage.this) == true) {
Intent toMainPage = new Intent(introPage.this, mainPage.class);
System.gc();
startActivity(toMainPage);
} else if (CheckInternet.checkConn(getApplicationContext()) == false) {
Toast.makeText(getApplicationContext(),
"Sorry, No internet connectivity found", Toast.LENGTH_SHORT)
.show();
}
,但我有一個問題,就是如果我連接到無線網絡,我打開應用程序,它工作正常,但如果我關閉應用程序,並關閉WiFi並重新打開應用程序,它不會通過「無連接」的錯誤,我需要關閉我的設備,然後打開它,同樣的情況下如果WiFi關閉,我打開應用程序,它會拋出「無連接」的錯誤,如果我打開它,仍然會拋出與「無連接」相同的錯誤,除非我關閉設備。
關閉應用..表兄弟姐妹如果u按HME關閉它,然後應用程序會在後臺和OnCreate中不會被解僱 – DeRagan 2010-11-03 10:41:21
@Rahul,但爲什麼即使打開wifi,它仍然沒有連接問題? – kaibuki 2010-11-03 10:43:47
我不知道你在哪裏調用這一行代碼...如果你只是檢查這個條件下的活動創建它將只被稱爲一次... – DeRagan 2010-11-03 10:48:58