0

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

谢谢

4

1 回答 1

0

您应该使用服务来实现这一点。

在发布或删除新通知或更改其排名时接收来自系统的调用的服务。

你应该有一个实现 NotificationListener() 的 android 服务类

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

于 2020-03-26T15:46:28.437 回答