Espera un momento ...
¿Te gustaría llevar mi curso de Laravel, gratis?
Sólo debes ingresar tus datos:
Hoy veremos cómo DETECTAR los cambios de estado, de la conexión a Internet en tus proyectos Android.
Una aplicación que funciona de modo online, consume y registra datos a través de una API.
Todo bien.
¿Pero qué pasa si el dispositivo se queda sin internet?
Es una buena práctica que nuestras aplicaciones continúen funcionando incluso sin una conexión a internet.
De hecho sería ideal que los datos se sincronicen cuando el internet vuelva a estar disponible.
Entonces, para que nuestra app funcione de modo offline tenemos que:
Eso es un tema que podemos ver en otro post con más detalle.
Por ahora lo importante es detectar el instante en que un dispositivo obtiene acceso a internet (o pierde acceso a internet).
Existen muchas formas de lograrlo.
En este caso vamos a seguir uno de los métodos más sencillos.
ACCESS_NETWORK_STATE
en nuestro manifest.BroadcastReceiver
en el Activity donde queremos detectar el cambio de estado.BroadcastReceiver
según el ciclo de vida de nuestro Activity
(así dejamos de escuchar cambios de estado si el Activity se ha cerrado o no está activo).NOTA: El permiso para verificar el estado es independiente al permiso de INTERNET
.
private BroadcastReceiver networkStateReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
ConnectivityManager manager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo ni = manager.getActiveNetworkInfo();
onNetworkChange(ni);
}
};
@Override
public void onResume() {
super.onResume();
registerReceiver(networkStateReceiver, new IntentFilter(android.net.ConnectivityManager.CONNECTIVITY_ACTION));
}
@Override
public void onPause() {
unregisterReceiver(networkStateReceiver);
super.onPause();
}
private void onNetworkChange(NetworkInfo networkInfo) {
if (networkInfo != null) {
if (networkInfo.getState() == NetworkInfo.State.CONNECTED) {
// CONNECTED
} else {
// DISCONNECTED"
}
}
}
Y eso es todo amigos.
Si de pronto quieren una versión para Kotlin pueden ver este ejemplo que recientemente publiqué en StackOverflow.
Comparte este post si te fue de ayuda 🙂.
Regístrate
Accede a todos los cursos, y resuelve todas tus dudas.
Cursos Recomendados
Curso intensivo. Incluye el desarrollo de una API, su consumo, y autenticación vía JWT. También vemos Kotlin desde 0.
Iniciar cursoAprende por qué es importante y cómo funciona Docker, con este nuevo curso práctico!
Iniciar cursoDesarrolla tu primer Chatbot para Facebook Messenger sobre Google Cloud, y aprende Python en el camino!
Iniciar cursoEspera un momento ...
¿Te gustaría llevar mi curso de Laravel, gratis?
Sólo debes ingresar tus datos: