通知歷史記錄是一個設備屏幕,用戶可以在其中查看暫停的通知、一些最近關閉的通知以及最後一天通知的歷史記錄。它是 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"