Revisar si hay conectividad en aplicaciones Android Studio

¡Comparte nuestro contenido!

Ahora que ya sabemos como hacer una vista web para mostrar nuestras aplicaciones web dentro de nuestras apps Android, vamos a necesitar revisar cuando tenemos conexión y decidir que hacer en caso de que no haya, ese es el tópico que vamos a revisar el día de hoy ¡Manos a la obra!

Iniciando el proyecto

Llamemos a nuestro proyecto MiConexion

Revisar Conexion- de Apps Android en CableNaranja

Elegimos nuestra plataforma

Crear SplashActivity Android Studio, CableNaranja

Y Luego una Empty Activity

Crear SplashActivity Android Studio, CableNaranja

Le llamaremos ConexionActivity

Revisar Conexion en Apps Android en CableNaranja

Revisando si hay conexión

Una vez iniciado nuestro proyecto, vamos a abrir el archivo activity_conexion que se acaba de crear y modificamos el único TextView que hay ahí, añadiéndole un id.

 android:id="@+id/txtMensaje"

Ahora vamos al archivo ConexiónActivity.java, vamos a crear un método que regrese false o true, según sea el caso.

public boolean checarRed(){
   boolean conectado;
   ConnectivityManager conman = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
   NetworkInfo info_wifi = conman.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
   NetworkInfo info_data = conman.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
   if(String.valueOf(info_wifi.getState()).equals("CONNECTED")){
      conectado = true;
   }else{
      if(String.valueOf(info_data.getState()).equals("CONNECTED")){
         conectado = true;
      }else{
         conectado = false;
      }
   }
   return conectado;
}

ConnectivityManager es un objeto que gestiona las conexiónes que recibe nuestro dispositivo, ya sea wifi, datos, bluetooth, etc. NetworkInfo me permite saber precisamente el estado de cada tipo de conexión, en este caso creamos uno para la conexión wifi y otro para la conexión de datos móviles. El método getState entrega estados como: CONNECTED o DISCONNECTED según sea el caso.

Añadimos una variable TextView al principio de nuestra clase

private TextView texto;

La instanciamos dentro de nuestro onCreate

 texto = findViewById(R.id.txtMensaje);

Y probamos usando nuestro método checarRed, si estamos conectados cambiaremos el texto del TextView por un mensaje apropiado, si no estamos conectados, avisaremos por medio de un Toast y terminaremos la aplicación.

if(checarRed()){
   texto.setText("Conexión establecida");
}else{
   Toast.makeText(this, "Su aplicación no tiene acceso, conéctese e intente de nuevo", Toast.LENGTH_LONG).show();
   finish();
}

Por último, abrimos el AndroidManifest.xml y añadimos los permisos correspondientes

 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
 <uses-permission android:name="android.permission.INTERNET" />

Veamos el ejemplo funcionando (Recuerda verlo a pantalla completa)

¡Comparte nuestro contenido!

Israel García

Docente, IT Manager, Blogger & Developer. Escribo por diversión, educo por pasión. | Grandstanding is not my thing.

Podría también gustarte...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

shares