¿Cómo puedo comprobar si un dispositivo Android está conectado a la web?

¿Cómo puedo saber si mi dispositivo está conectado a la web o no? ¿Cómo puedo detectar la conectividad? Cualquier código de ejemplo?

En primer lugar, necesita permiso para saber si el dispositivo está conectado a la Web o no. Esto debe estar en su manifiesto, en el elemento <manifest> :

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

A continuación, necesita obtener una referencia al ConnectivityManager :

 ConnectivityManager cm = (ConnectivityManager) Context.getSystemService(Context.CONNECTIVITY_SERVICE); 

Desde allí es necesario obtener un objeto NetworkInfo . Para la mayoría, esto significará usar ConnectivityManager. GetActiveNetworkInfo () :

 NetworkInfo ni = cm.getActiveNetworkInfo(); if (ni == null) { // There are no active networks. return false; } 

A partir de ahí, sólo necesita utilizar uno de los métodos de NetworkInfo para determinar si el dispositivo está conectado a Internet:

 boolean isConnected = ni.isConnected(); 

En primer lugar, necesita permiso para saber si el dispositivo está conectado a la Web o no. Esto debe estar en su manifiesto, en el elemento:

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

entonces

 ConnectivityManager connec = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); if (connec != null && ( (connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED) || (connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED))) { //You are connected, do something online. } else if (connec != null && ( (connec.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.DISCONNECTED) || (connec.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.DISCONNECTED ))) { //Not connected. Toast.makeText(getApplicationContext(), "You must be connected to the internet", Toast.LENGTH_LONG).show(); } 

Agregue este permiso en su archivo AppManifest.xml:

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

El método para comprobar si la red está disponible o no:

 boolean isNetworkAvailable() { ConnectivityManager cm = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo activeNetwork = cm.getActiveNetworkInfo(); boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting(); return isConnected; } 

Fuente

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.