¿Cómo hacer la llamada al servicio desde el receptor depende de Internet conectado o no?
Sé cómo comprobar si Internet está disponible o no en la actividad, mi requisito es, en realidad estoy almacenando algunos valores en el DB cuando el dispositivo en línea (sin Internet), cuando se trata de línea tienen que pasar los valores de DB para el servidor Sin interactividad del usuario. Cómo puedo conseguir esto. Tengo este ejemplo ¿Cómo comprobar la conexión a Internet periódicamente en toda la aplicación? Pero está trabajando solamente para una actividad, cómo hacerlo global.
- Emulador de Android udp broadcast
- ¿Puede un receptor de difusión captar múltiples transmisiones?
- Android: cómo escuchar "tarjeta sd eliminada inesperadamente"
- AudioSource.VOICE_CALL no funciona en android 4.0 pero funciona en android 2.3
- Escuchando en un puerto específico para los datos entrantes
- ¿Por qué no funciona LocalBroadcastManager en lugar de Context.registerReceiver?
- Transmisión global o transmisión local con PendingIntent
- ¿Qué tipo de comunicación entre aplicaciones debería elegir?
- Transmisión por Wi-Fi Direct
- Android: escucha el mensaje de difusión instalado / actualizado de la aplicación
- Cómo enviar BroadCast desde una aplicación a otra aplicación
- Difusión del servidor TCP de Android
- Posibilidad de establecer la prioridad BroadcastReceiver mediante programación?
Utilícelo en su receptor
<receiver android:name=".UpdateReceiver" > <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>
Su actualización
public class UpdateReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE ); NetworkInfo activeNetInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); boolean isConnected = activeNetInfo != null && activeNetInfo.isConnectedOrConnecting(); if (isConnected) Log.i("NET", "connecte" +isConnected); else Log.i("NET", "not connecte" +isConnected); } }
Prueba esta función
public static boolean isInternetAvailable(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo netInfo = cm.getActiveNetworkInfo(); if (netInfo != null && netInfo.isConnectedOrConnecting()) { return true; } return false; }
Y en el manifiesto
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
disfrutar..
Necesitas implementar el concepto de servicios en tu aplicación. Este servicio se ejecutará en segundo plano y pasará los datos al servidor de acuerdo a la necesidad. Compruebe este enlace para su referencia http://developer.android.com/guide/topics/fundamentals/services.html
- Centrar un mapa de bits y repetir el píxel del borde
- Utilizar interfaces para constantes de espacio de nombres en Android