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