接口文档示例
介绍
在Android 4.3(API 18)中引入了NotificationListenerService 。 它允许应用程序在创建或删除时接收有关通知的信息。 NotificationListenerService类是从Service类派生的。 它有两个抽象方法,即1. onNotificationPosted 2. onNotificationRemoved。
要使用NotificationListenerService,我们需要创建一个扩展NotificationListenerService的Java文件并实现两个回调方法。 这两个方法都有一个名为“ sbn”的参数,它是StatusBarNotification类的对象。 StatusBarNotification提供有关通知的必要信息。
NotificationListenerService提供了使用getActiveNotifications获取活动通知的功能,并且还提供了使用cancelAllNotifications删除通知的功能。
有用的方法
NotificationListenerService
onNotificationPosted()
onNotificationRemoved()-
StatusBarNotification
getId()
getNotification()
注意:用户需要从“设置>安全>通知访问”中启用通知权限。
NotificationListenerService的源代码
值得一看的源代码,如果您好奇的话。 它有两个Java文件和两个AIDL文件: https ://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/service/notification
例
这是NotificationListenerService的简单示例,它具有包含三个按钮和一个textview的简单UI。
- 创建通知-将创建简单的通知,以便我们可以测试onNotificationPosted事件
- 清除所有通知–它将在通知栏中创建所有通知
- 通知列表–将在文本视图中显示通知列表
- TextView –显示通知事件和通知列表。
此示例具有活动,服务和广播接收器。 BroadcastReceiver,用于活动和服务之间的通信。 我们无法直接从活动访问cancelAllNotifications()和getActiveNotifications()方法,因此我使用BroadcastReceivers。