Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


NotificationListenerService: NullPointerException en getActiveNotifications

Estoy tratando de implementar el NotificationListenerService en mi aplicación de acuerdo con este tutorial: http://www.kpbird.com/2013/07/android-notificationlistenerservice.html , pero estoy teniendo una NullPointerException al llamar a getActiveNotifications.

Caused by: java.lang.NullPointerException at android.os.Parcel.readException(Parcel.java:1437) at android.os.Parcel.readException(Parcel.java:1385) at android.app.INotificationManager$Stub$Proxy.getActiveNotificationsFromListener(INotificationManager.java:500) at android.service.notification.NotificationListenerService.getActiveNotifications(NotificationListenerService.java:149) at com.rootsoft.rsnotificationservice.RSNotificationService.activeNot(RSNotificationService.java:85) at com.rootsoft.rsnotificationservice.RSNotificationService.access$0(RSNotificationService.java:81) at com.rootsoft.rsnotificationservice.RSNotificationService$1.onReceive(RSNotificationService.java:105) at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:763) ... 9 more 

Estoy enviando una transmisión al servicio que debería generar una lista de todas las notificaciones:

 private void activeNot () { List l = new List(); l.Initialize(); for (StatusBarNotification sbn : getActiveNotifications() ) { <---- Error happens here l.Add(sbn); } Log.i("B4A", "List created."); } } 

  • NotificationCompat 4.1 SetSmallIcon y SetLargeIcon
  • Notificación desaparece - Android DownloadManager
  • Procesos eliminados por el sistema Android: ¿se eliminan las notificaciones en curso?
  • Intentando crear una respuesta rápida de WhatsApp para teléfonos pre N
  • Iniciar y detener una notificación del receptor de emisión
  • Android lolipop notificación blanco círculo vacío
  • La notificación de la barra de estado de Android lanza una nueva aplicación aunque esté en ejecución. ¿Cómo sincronizar la aplicación de lanzamiento desde el icono de la aplicación y la notificación de barra de estado?
  • Configuración de un icono de notificación de Android en una URL remota
  • 3 Solutions collect form web for “NotificationListenerService: NullPointerException en getActiveNotifications”

    EDIT: Desde entonces he aprendido más sobre esto y lo consiguió trabajando!

    NOTA: Primero, asegúrese de haber habilitado su aplicación en el panel de configuración de Notification Access de su dispositivo Android.

    Tenía exactamente el mismo problema hasta ahora. Resulta que sobreponerse a onBind es peligroso. Si anula onBind , tiene que devolver el mismo IBinder que super.onBind(intent) . Si desea devolver su propia carpeta personalizada, asegúrese de utilizar una intención única y devuelva su carpeta personalizada cuando se recibe la intención personalizada.

     @Override public IBinder onBind(Intent intent) { if (intent.getAction().equals("custom_intent")) { return customBinder; } else { return super.onBind(intent); } } 

    El sistema llama a Bind en su servicio, una vez que le haya concedido permiso para leer Notificaciones. Si su onBind devuelve un archivador personalizado al sistema, el sistema no le dará las notificaciones y podría dar lugar a Null Pointer o Security Exceptions.

    Espero que esto ayudó!

    No llame al método getActiveNotification en onCreate o onBind directamente. Debido a que el onBind llamará a la super.onBind para inicializar, por lo que puede utilizar el controlador para reemplazar. Aquí está mi demostración: https://github.com/yihongyuelan/NotificationListenerServiceDemo

    Me pasó cuando intenté iniciar el servicio con startService (). ¡Estaba equivocado! El sistema lo hace por usted cuando el usuario permite que su aplicación escuche las notificaciones

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