2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
通知履歴
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
通知履歴とは、ユーザーがスヌーズした通知、最近閉じた通知の一部、最後に通知が行われた日の履歴が表示される、デバイス上の画面です。これは OEM が実装するオプションの機能です。
SoC や携帯通信会社は影響を受けません。
通知履歴は、次のようなユースケースに対処するために使用します。
- 誤って閉じた通知: 通知を誤って閉じてしまい、その内容をすばやく確認したい場合。
- スヌーズした通知: 通知をスヌーズしたが、スヌーズ期間が終了する前に通知を表示したい場合。
- トラブルシューティング: 通知を見落とした可能性がある場合。通知履歴をチェックして、通知があったかどうかと、振動したかどうかを確認します。見つからない場合は、通知がブロックされていないか確認します。通知の設定は [通知履歴] で変更できます。
- 通知の管理: 割り込み通知を変更する場合、通知履歴を使用します。通知履歴では、日ごとの通知負荷に関する実用的な情報が得られるため、アラートやブロックの変更範囲を簡単に把握できます。
通知履歴には以下のコンポーネントのリファレンス実装があります。
- 設定:
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"
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-04-04 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-04-04 UTC。"],[],[],null,["# Notification history is a device screen where users can see snoozed\nnotifications, a handful of recently dismissed notifications, and a history of\nthe last day of notifications. It is an optional feature for OEMs to implement.\nThere's no impact on SoCs or carriers.\n\nNotification history is meant to address these use cases:\n\n- **Accidental dismissal**: You accidentally dismissed a notification and want to get a quick look at what it was.\n- **Snoozed notifications**: You snoozed a notification but want to see it before the snooze period is over.\n- **Troubleshooting**: You think you missed a notification. You check the notification history to see whether there was a notification and whether it buzzed. If you don't find it, you check whether a notification was blocked. You can change notification settings in notification history.\n- **Notification management**: You want to change how interruptive notifications are, so you use notification history because it offers a realistic slice of daily notification load, which makes it easy to understand the scope of your changes to alerting, blocking. etc.\n\nReference implementations of these components of Notification History are\navailable:\n\n- **Settings** : `packages/apps/Settings/src/com/android/settings/notification/history`\n- **System server** : `com.android.server.notification.NotificationHistory.*.java`\n\nThese are the major steps to implement Notification History:\n\n- Write notification events to the log.\n- Add entry points to the log and the setting to turn it on and off.\n- Implement the Notification History screen.\n\nUsers can turn Notification History off. When it's off, all history items are\ndeleted and no items are written to the log.\n\nYou can set the number of days notifications appear in the Notification\nHistory using the `HISTORY_RETENTION_DAYS` constant in the\n`NotificationHistoryDatabase` class. You can also modify which\nsections appear in the Notification History screen and how the data is\npresented.\n\nThe default notification history retention period is 24 hours.\n\nThese unit tests are provided for each component of the code:\n\n- **System server unit tests** : `FrameworksUiServicesTests`\n- **Settings unit tests** : `make -j64 RunSettingsRoboTests\n ROBOTEST_FILTER=\"com.android.settings.notification\"`"]]