Saltar al contenido

Android: verifique mediante programación la conexión a Internet y muestre el cuadro de diálogo si no está conectado

Solución:

Puede consultar esta biblioteca:

https://github.com/novoda/merlin

Tu solo implement Connectable y recibirá una devolución de llamada cuando la red se apague o se active.

Por lo tanto, puede mostrar su diálogo en este escenario.

También puede consultar la biblioteca para conocer el estado actual y optar por no realizar su tarea de red

ejemplo

Crea Merlin (usando Merlin.Builder ())

merlin = new Merlin.Builder().withConnectableCallbacks().build(context);

Vincular y desvincular el servicio en su actividad

@Override
protected void onResume() {
    super.onResume();
    merlin.bind();
}

@Override
protected void onPause() {
    super.onPause();
    merlin.unbind();
}

Regístrese para devoluciones de llamada

merlin.registerConnectable(new Connectable() {
        @Override
        public void onConnect() {
            // Do something!
        }
});

MerlinActivity dentro de la demostración muestra una forma sencilla de ordenar Merlin de su código de aplicación principal.

Finalmente, obtuve la respuesta.

ConnectivityManager conMgr =  (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = conMgr.getActiveNetworkInfo();
if (netInfo == null){
    Description.setVisibility(View.INVISIBLE);
    new AlertDialog.Builder(WelcomePage.this)
        .setTitle(getResources().getString(R.string.app_name))
        .setMessage(getResources().getString(R.string.internet_error))
        .setPositiveButton("OK", null).show();
}else{
    dialog = ProgressDialog.show(WelcomePage.this, "", "Loading...", true,false);
    new Welcome_Page().execute();
}

Verifica la conexión a internet

 ConnectivityManager mgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
 NetworkInfo netInfo = mgr.getActiveNetworkInfo();

        if (netInfo != null) {
            if (netInfo.isConnected()) {
                // Internet Available
            }else {
               //No internet
            }
        } else {
            //No internet
        }
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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