Tengo el siguiente código para verificar la conexión a internet wifi/EDGE/GPRS/3G en mi aplicación.Comprobando la conexión a Internet en android
el código es
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;
}
y yo estoy llamando, como a continuación:
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();
}
pero estoy teniendo un problema, y es que si estoy conectado a Wi-Fi, y abro la aplicación, funciona bien, pero si cierro la aplicación y apago wifi y vuelvo a abrir la aplicación, no pasa por el error de "sin conexión", necesito apagar mi dispositivo y luego encenderlo, y el mismo estuche si el wifi está desactivado, y abro la aplicación, arroja un error de "sin conexión", y si lo enciendo, todavía lo arrojo s el mismo error de "sin conexión", hasta que apague y encienda el dispositivo.
cerca la aplicación presionando el hogar o llave .. Coz si u cerrar pulsando a continuación HME aplicación estará en segundo plano y no lo hará alcrear ser despedido – DeRagan
@Rahul, pero ¿por qué incluso encender el wifi, todavía no da problemas de conexión? – kaibuki
No estoy seguro de cómo está llamando a esta línea de código ... Si solo está buscando esta condición en las actividades de creación, se llamará solo una vez ... – DeRagan