Comprobar la conexión a Internet en toda mi aplicación
Estoy trabajando en aplicaciones basadas en Internet, así que necesito monitorear la conexión a Internet. enlazar
He utilizado este código en la creación de mainActivity para comprobar mi conexión a Internet funciona bien.
- Compruebe la conexión de red y de Internet - Android
- Descargar imágenes de la URL a la tarjeta SD
- Cómo manejar java.net.UnknownHostException mientras se usa retrofit
- Android comprueba si existe un archivo en un servidor remoto mediante su URL
- ¿Es wpa_supplicant específico para el dispositivo android o específico para la versión android?
public boolean isOnline() { ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE); return cm.getActiveNetworkInfo().isConnectedOrConnecting(); }
Pero necesito esta supervisión debe hacerse a través de la aplicación. ¿Dónde debo usar esto? ¿Necesita AsyncTask?
- No hay acceso a Internet en el emulador de Android, conexión a Internet compartida
- ¿Cómo comprobar si los datos móviles están realmente activos o si el wifi está realmente conectado a cualquier punto caliente?
- ConnectivityManager.EXTRA_NO_CONNECTIVITY es siempre falsa en Android Lollipop
- Android cómo obtener indican cuando se pierde la conexión a Internet?
- ¿Por qué funciona el ping en algunos dispositivos y no en otros?
- Recuperación lenta de datos con android y parse.com
- Autorización de token para una aplicación de Android
- Detectar si hay una conexión a Internet disponible en Android
Cree un BroadcastReceiver para detectar cambios en el estado de la conexión. Ver la respuesta de Eric aquí
Utilice un Receptor BroadCast, así:
private BroadcastReceiver mConnReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { boolean noConnectivity = intent.getBooleanExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, false); String reason = intent.getStringExtra(ConnectivityManager.EXTRA_REASON); boolean isFailover = intent.getBooleanExtra(ConnectivityManager.EXTRA_IS_FAILOVER, false); NetworkInfo currentNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO); NetworkInfo otherNetworkInfo = (NetworkInfo) intent.getParcelableExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO); // do application-specific task(s) based on the current network state, such // as enabling queuing of HTTP requests when currentNetworkInfo is connected etc. } };
private void registerReceivers() { registerReceiver(mConnReceiver, new IntentFilter(ConnectivityManager.CONNECTIVITY_ACTION)); }
- ¿Cómo puedo compartir funciones y datos comunes a través de muchas actividades en una sola aplicación de Android
- Obtener la posición de toque al arrastrar