У меня есть следующий код для проверки интернет-соединения Wi-Fi / 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();
}
Но у меня проблема, то есть, если я подключен к Wi-Fi и открываю приложение, оно работает нормально, но если я закрываю приложение, выключаю Wi-Fi и повторно открываю приложение, это не из-за ошибки «нет подключения», мне нужно чтобы выключить мое устройство, а затем включить его, и тот же случай, если Wi-Fi отключен, и я открываю приложение, оно выдает ошибку «нет соединения», и если я включаю его, оно все равно выдает ту же ошибку «нет» соединение ", пока я не выключу и не включу устройство.