永久 运行 通知监听器

Permanently running notification listener

我正在尝试编写一个应用程序,它将永久侦听任何传入的通知,然后对其进行处理。我在制作通知侦听器的第一个障碍上苦苦挣扎,该侦听器即使在应用程序处于后台时也可以永久 运行 。关于从哪里开始的任何建议将不胜感激?

谢谢

您应该使用服务来实现此目的。

一种服务,当发布或删除新通知或它们的排名发生变化时从系统接收调用。

您应该有一个 android 服务 class 实现了 NotificationListener()

class NotificationListenerService: NotificationListener() {
   override fun onBind(intent: Intent) {
      return super.onBind(intent)
   }

   override fun onNotificationPosted(sbn: StatusBarNotification) {
      // Implement what you want here
   }

   override fun onNotificationRemoved(sbn: StatusBarNotification) {
      // Implement what you want here
   }
}

另一件需要做的事情是将它放在清单文件中:

<service android:name=".NotificationListener"
      android:label="@string/service_name"
      android:permission="android.permission.BIND_NOTIFICATION_LISTENER_SERVICE">
 <intent-filter>
     <action android:name="android.service.notification.NotificationListenerService" />
 </intent-filter>

希望对您有所帮助!

更多详情请参考:https://developer.android.com/reference/android/service/notification/NotificationListenerService