我有以下代码用于检查我的应用程序上的互联网连接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