通知记录

通知记录是一个设备屏幕,用户可以在其中查看已暂停的通知、少量最近被关闭的通知以及过去一天的通知历史记录。对于 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"