通知历史记录

通知历史记录是一个设备界面,用户可以在该界面中查看延后的通知、近期关闭的一些通知,以及关于前一天通知的历史记录。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"