Cuándo verificar la connection a internet en aplicaciones mobilees

Me gustaría conocer las mejores prácticas recomendadas para verificar la connection a internet en aplicaciones mobilees.

En la mayoría de las aplicaciones que desarrollé con mis compañeros de equipo, comprobamos la connection a Internet antes de cualquier acción que requiera connection a internet. Pero veo muchas aplicaciones que notifican cuándo el dispositivo está desconectado de Internet.

Me gustaría get una comprensión clara sobre este tema y creo que muchos desarrolladores como yo dudan sobre cómo hacer esta verificación correctamente cuando desarrollan una aplicación.

Cualquier ayuda o idea será apreciada.

Puede usar el receptor de difusión para manejar los cambios de Wi-Fi.

Código receptor:

private BroadcastReceiver WifiStateChangedReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { int extraWifiState = intent.getIntExtra(WifiManager.EXTRA_WIFI_STATE, WifiManager.WIFI_STATE_UNKNOWN); switch (extraWifiState) { case WifiManager.WIFI_STATE_DISABLED: { handler.sendEmptyMessage(DATA_DISCONNECTED); } break; case WifiManager.WIFI_STATE_DISABLING: { } break; case WifiManager.WIFI_STATE_ENABLED: { handler.sendEmptyMessage(DATA_CONNECTED); } break; case WifiManager.WIFI_STATE_ENABLING: { } break; case WifiManager.WIFI_STATE_UNKNOWN: { } break; } } }; 

Registro de reciever:

 this.registerReceiver(this.WifiStateChangedReceiver, new IntentFilter(WifiManager.WIFI_STATE_CHANGED_ACTION)); 

Para verificar los cambios en la connection de datos mobilees, puede usar TelephonyManager:

 PhoneStateListener pslCell = new PhoneStateListener() { @Override public void onDataConnectionStateChanged(int state) { switch (state) { case TelephonyManager.DATA_DISCONNECTED: { handler.sendEmptyMessage(DATA_DISCONNECTED); } break; case TelephonyManager.DATA_SUSPENDED: { handler.sendEmptyMessage(DATA_CONNECTED); } break; } } }; telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); telephonyManager.listen(pslCell, PhoneStateListener.LISTEN_DATA_CONNECTION_STATE); 

Te recomiendo que almacenes el estado de la networking en variables estáticas. También debe comprobar el estado de la networking cada inicio de la aplicación.

Siempre está relacionado con el proyecto que estamos haciendo. Si solo está haciendo la aplicación que solo requiere connection a internet en el momento de realizar cualquier acción, entonces revisar la connection a Internet antes de perfoming la acción es mejor, eliminará la sobrecarga de la connection de Internet cada vez que prefiera este método

Pero si realmente necesitamos una connection de networking completa cada vez que necesitamos cargar las últimas noticias o aplicaciones de chat, debemos notificarlo en todo momento. Para esto, tenemos que usar la connection apropiada Api de cada plataforma mobile Android proporciona una connection BroadCast Reciver Para esto

Depende totalmente de sus requisitos de aplicaciones que tipo de aplicación sea.

A veces:

1) Tenemos que verificar la connection a Internet antes de cualquier acción que lo requiera.

2) Verificamos periódicamente la connection a Internet después de un intervalo definido específico.

3) Necesitamos una respuesta inmediata del estado de la connection a Internet, por lo que nuestra aplicación lo comtesting continuamente y nos envía inmediatamente el estado de notificación de falla o éxito en Internet, por lo que podemos abordar nuestra aplicación en dicho escenario.

Espero eso ayude.