История уведомлений — это экран устройства, на котором пользователи могут видеть отложенные уведомления, несколько недавно отклоненных уведомлений и историю уведомлений за последний день. Это дополнительная функция для OEM-производителей, которую можно реализовать. Она не влияет на SoC или операторов.
История уведомлений предназначена для следующих случаев использования:
- Случайное удаление : вы случайно удалили уведомление и хотите быстро просмотреть, что в нем было.
- Отложенные уведомления : вы отложили уведомление, но хотите увидеть его до окончания периода отсрочки.
- Устранение неполадок : Вы считаете, что пропустили уведомление. Вы проверяете историю уведомлений, чтобы увидеть, было ли уведомление и гудело ли оно. Если вы его не нашли, вы проверяете, было ли заблокировано уведомление. Вы можете изменить настройки уведомлений в истории уведомлений.
- Управление уведомлениями : если вы хотите изменить то, насколько отвлекающими являются уведомления, используйте историю уведомлений, поскольку она обеспечивает реалистичный срез ежедневной нагрузки уведомлений, что позволяет легко понять объем ваших изменений в оповещениях, блокировках и т. д.
Доступны эталонные реализации следующих компонентов истории уведомлений:
- Настройки :
packages/apps/Settings/src/com/android/settings/notification/history
- Системный сервер :
com.android.server.notification.NotificationHistory.*.java
Вот основные шаги по внедрению истории уведомлений:
- Записывать события уведомлений в журнал.
- Добавьте точки входа в журнал и настройки для его включения и выключения.
- Реализуйте экран истории уведомлений.
Пользователи могут отключить историю уведомлений. Когда она выключена, все элементы истории удаляются и никакие элементы не записываются в журнал.
Вы можете задать количество дней, в течение которых уведомления будут отображаться в истории уведомлений, используя константу HISTORY_RETENTION_DAYS
в классе NotificationHistoryDatabase
. Вы также можете изменить, какие разделы будут отображаться на экране истории уведомлений и как будут представлены данные.
Срок хранения истории уведомлений по умолчанию составляет 24 часа.
Эти модульные тесты предусмотрены для каждого компонента кода:
- Тесты модулей системного сервера :
FrameworksUiServicesTests
- Настройки модульных тестов :
make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"