ประวัติการแจ้งเตือน

ประวัติการแจ้งเตือนคือหน้าจออุปกรณ์ที่ผู้ใช้สามารถดูการแจ้งเตือนที่เลื่อนการแจ้งเตือน การแจ้งเตือนที่ปิดไปล่าสุดจำนวนหนึ่ง และประวัติการแจ้งเตือนของวันสุดท้าย ซึ่งเป็นฟีเจอร์เสริมที่ OEM สามารถนำไปใช้ได้ โดยจะไม่มีผลกระทบต่อ SoC หรือผู้ให้บริการ

ประวัติการแจ้งเตือนมีไว้เพื่อรองรับกรณีการใช้งานต่อไปนี้

  • การปิดโดยไม่ตั้งใจ: คุณปิดการแจ้งเตือนโดยไม่ตั้งใจและต้องการดูอย่างรวดเร็วว่าการแจ้งเตือนนั้นคืออะไร
  • การแจ้งเตือนที่เลื่อน: คุณเลื่อนการแจ้งเตือนไว้ แต่ต้องการ ดูการแจ้งเตือนก่อนระยะเวลาการเลื่อนจะสิ้นสุดลง
  • การแก้ปัญหา: คุณคิดว่าคุณพลาดการแจ้งเตือน คุณสามารถตรวจสอบประวัติการแจ้งเตือนเพื่อดูว่ามีการแจ้งเตือนหรือไม่และมีการสั่นหรือไม่ หากไม่พบ ให้ตรวจสอบว่ามีการบล็อกการแจ้งเตือนหรือไม่ คุณเปลี่ยนการตั้งค่าการแจ้งเตือนได้ในประวัติการแจ้งเตือน
  • การจัดการการแจ้งเตือน: คุณต้องการเปลี่ยนระดับการรบกวนของการแจ้งเตือน จึงใช้ประวัติการแจ้งเตือนเนื่องจากประวัติการแจ้งเตือนจะแสดงภาพรวมที่สมจริงของภาระการแจ้งเตือนรายวัน ซึ่งช่วยให้เข้าใจขอบเขตของการเปลี่ยนแปลงในการแจ้งเตือน การบล็อก ฯลฯ ได้ง่าย

การใช้งานอ้างอิงของคอมโพเนนต์เหล่านี้ในประวัติการแจ้งเตือนมีดังนี้

  • การตั้งค่า packages/apps/Settings/src/com/android/settings/notification/history
  • เซิร์ฟเวอร์ของระบบ: com.android.server.notification.NotificationHistory.*.java

ขั้นตอนหลักในการใช้ประวัติการแจ้งเตือนมีดังนี้

  • เขียนเหตุการณ์การแจ้งเตือนลงในบันทึก
  • เพิ่มจุดแรกเข้าไปยังบันทึกและการตั้งค่าเพื่อเปิดและปิด
  • ใช้หน้าจอประวัติการแจ้งเตือน

ผู้ใช้สามารถปิดประวัติการแจ้งเตือนได้ เมื่อปิดแล้ว ระบบจะลบรายการประวัติทั้งหมดและจะไม่เขียนรายการใดๆ ลงในบันทึก

คุณสามารถกำหนดจำนวนวันที่การแจ้งเตือนจะปรากฏในประวัติการแจ้งเตือนได้โดยใช้ค่าคงที่ HISTORY_RETENTION_DAYS ในคลาส NotificationHistoryDatabase นอกจากนี้ คุณยังแก้ไขส่วนที่ปรากฏในหน้าจอประวัติการแจ้งเตือนและวิธีแสดงข้อมูลได้ด้วย

ระยะเวลาเก็บรักษาประวัติการแจ้งเตือนเริ่มต้นคือ 24 ชั่วโมง

การทดสอบหน่วยเหล่านี้มีไว้สำหรับคอมโพเนนต์แต่ละรายการของโค้ด

  • การทำ Unit Test ของเซิร์ฟเวอร์ระบบ FrameworksUiServicesTests
  • การตั้งค่า Unit Test: make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"