通知履歷

通知歷史記錄是一個設備屏幕,用戶可以在其中查看暫停的通知、一些最近關閉的通知以及最後一天通知的歷史記錄。它是 OEM 實施的可選功能。對 SoC 或運營商沒有影響。

通知歷史旨在解決這些用例:

  • 意外關閉:您不小心關閉了通知,想快速查看它是什麼。
  • 延後通知:您延後了一個通知,但想在延後時間結束前看到它。
  • 故障排除:您認為您錯過了通知。您查看通知歷史記錄以查看是否有通知以及它是否響起。如果找不到,請檢查通知是否被阻止。您可以更改通知歷史記錄中的通知設置。
  • 通知管理:你想改變中斷通知的方式,所以你使用通知歷史,因為它提供了每日通知負載的真實切片,這使得你很容易理解你對警報、阻塞的更改範圍。等等

Notification History 的這些組件的參考實現可用:

  • 設置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"