通知记录是一个设备屏幕,用户可以在其中查看已暂停的通知、少量最近被关闭的通知以及过去一天的通知历史记录。对于 OEM 而言,这是一项可选功能。对 SoC 或运营商没有影响。
通知记录旨在解决以下用例
- 意外关闭:您意外关闭了一条通知,并且想快速查看该通知的内容。
- 已暂停的通知:您暂停了一条通知,但想在暂停期结束前查看该通知。
- 问题排查:您认为自己错过了一条通知。您查看通知记录以查看是否有通知以及该通知是否发出提示音。如果找不到,您可以检查通知是否被阻止。您可以在通知记录中更改通知设置。
- 通知管理:您想更改通知的干扰程度,因此您使用通知记录,因为它提供了日常通知负载的真实切片,让您可以轻松了解您对提醒、阻止等所做更改的范围。
以下是通知记录的这些组件的参考实现
- 设置:
packages/apps/Settings/src/com/android/settings/notification/history
- 系统服务器:
com.android.server.notification.NotificationHistory.*.java
以下是实现通知记录的主要步骤
- 将通知事件写入日志。
- 向日志和设置添加入口点以启用和关闭通知记录。
- 实现通知记录屏幕。
用户可以关闭通知记录。关闭后,所有历史记录项都将被删除,并且不会将任何项写入日志。
您可以使用 NotificationHistoryDatabase
类中的 HISTORY_RETENTION_DAYS
常量设置通知在通知记录中显示的保留天数。您还可以修改通知记录屏幕中显示的版块以及数据的呈现方式。
默认通知记录保留期为 24 小时。
以下是为代码的每个组件提供的单元测试
- 系统服务器单元测试:
FrameworksUiServicesTests
- 设置单元测试:
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"