我有以下用于检查应用程序的网络连接wifi/EDGE/GPRS/3G的代码。
代码如下:
代码如下:
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,然后重新打开应用程序,它不会出现“无连接”的错误提示,我需要关闭设备然后重新开启,而且如果WiFi处于关闭状态,我打开应用程序时,它会抛出“无连接”的错误提示,并且即使我打开WiFi,仍然会出现相同的“无连接”错误提示,除非我关闭设备并重新打开。
if(CheckInternet.checkConn(introPage.this)) { ... } else { ... }
- dinigo