¿Android N no está enviando android.net.conn.CONNECTIVITY_CHANGE?

He definido un receptor en una aplicación de sandbox Android N:

<receiver android:exported="true" android:name="com.sandboxapplication.NetworkReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> 

Es bastante simple:

 public class NetworkReceiver extends BroadcastReceiver { private static final String TAG = NetworkReceiver.class.getName(); @Override public void onReceive(Context context, Intent intent) { Log.i(TAG, "Received Network Change event."); } } 

Este receptor está funcionando bien si en mi archivo build.gradle mi targetSdkVersion es 23. Sin embargo, si establezco mi targetSdkVersion a 24, el receptor nunca recibe nada. De hecho, si coloco un punto de ruptura de depuración en mi receptor Android Studio me da la indicación visual de que parece que la clase nunca se carga en la memoria.

¿He extrañado algo muy básico en la documentación de Android N? ¿Existe una nueva forma de detectar eventos de cambio de conectividad?

Las aplicaciones orientadas a Android N (Nougat) no reciben emisiones CONNECTIVITY_ACTION , aunque tengan entradas de manifiesto para solicitar la notificación de estos eventos. Las aplicaciones que se están ejecutando pueden seguir escuchando CONNECTIVITY_CHANGE en su subproceso principal si solicitan notificación con BroadcastReceiver .

Para ver qué cambió en Android N (Nougat) . Por favor, consulte el enlace a continuación. Cambios en el comportamiento de Android N

Utilice este código para registrar el receptor en su actividad o en la clase de aplicación

 IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(ConnectivityManager.CONNECTIVITY_ACTI‌​ON); registerReceiver(new NetworkConnectionReceiver(), intentFilter); 

Donde NetworkConnectionReceiver es una clase extendida por BroadcastReceiver. Simplemente agregue esta clase en su aplicación y realice una acción en el método onReceive (Context context, Intent intent).

Nota: Si registra este receptor en Actividad, no olvide anular su registro.

  • Detectar cambios de conectividad en Android 7.0 Nougat cuando la aplicación está en primer plano
  • Comprobación de la conectividad a Internet con Android mejor método
  • Notification.bigContentView está obsoleto en API 24 (Nougat) ¿cuál es la alternativa?
  • Acepta programáticamente la llamada en Nougat
  • Aplicación que no instala algún dispositivo Android Android N android
  • Android.os.TransactionTooLargeException en Nougat
  • Botones que faltan en AlertDialog | Android 7.0 (Nexus 5x)
  • Excepción de puntero nulo en la ventana de sugerencias popup en Samsung Galaxy Android 7
  • Android Speech Recognition API no funciona en Android 7 Nougat
  • Maneje los cambios de red en android 7 Turrón
  • ¿Cuál es el significado de E / OpenGLRenderer: saveGfxinfoFileDisabled - habilitado mostrando demasiadas veces en los registros
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.