История уведомлений — это экран устройства, на котором пользователи могут видеть отложенные уведомления, несколько недавно закрытых уведомлений и историю уведомлений за последний день. Эта функция является опциональной и может быть реализована 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"