lịch sử thông báo

Lịch sử thông báo là một màn hình thiết bị nơi người dùng có thể xem các thông báo đã tạm ẩn, một số thông báo đã loại bỏ gần đây và lịch sử của ngày cuối cùng nhận thông báo. Đây là một tính năng tùy chọn để các OEM triển khai. Không có tác động đến SoC hoặc nhà mạng.

Lịch sử thông báo nhằm giải quyết các trường hợp sử dụng này:

  • Vô tình loại bỏ : Bạn vô tình loại bỏ một thông báo và muốn xem nhanh thông báo đó là gì.
  • Báo lại thông báo : Bạn đã báo lại một thông báo nhưng muốn xem thông báo đó trước khi thời gian báo lại kết thúc.
  • Xử lý sự cố : Bạn cho rằng mình đã bỏ lỡ một thông báo. Bạn kiểm tra lịch sử thông báo xem có thông báo nào không và có buzz không. Nếu không tìm thấy, bạn kiểm tra xem có thông báo nào bị chặn hay không. Bạn có thể thay đổi cài đặt thông báo trong lịch sử thông báo.
  • Quản lý thông báo : Bạn muốn thay đổi mức độ gián đoạn của các thông báo, vì vậy bạn sử dụng lịch sử thông báo vì lịch sử này cung cấp một phần tải thông báo hàng ngày thực tế, giúp bạn dễ dàng hiểu được phạm vi thay đổi của mình đối với cảnh báo, chặn. vân vân.

Hiện có các triển khai tham chiếu của các thành phần này của Lịch sử thông báo:

  • Cài đặt : packages/apps/Settings/src/com/android/settings/notification/history
  • Máy chủ hệ thống : com.android.server.notification.NotificationHistory.*.java

Đây là các bước chính để triển khai Lịch sử thông báo:

  • Ghi các sự kiện thông báo vào nhật ký.
  • Thêm điểm vào nhật ký và cài đặt để bật và tắt nhật ký.
  • Triển khai màn hình Lịch sử thông báo.

Người dùng có thể tắt Lịch sử thông báo. Khi nó tắt, tất cả các mục lịch sử sẽ bị xóa và không có mục nào được ghi vào nhật ký.

Bạn có thể đặt số ngày thông báo xuất hiện trong Lịch sử thông báo bằng hằng số HISTORY_RETENTION_DAYS trong lớp NotificationHistoryDatabase . Bạn cũng có thể sửa đổi phần nào xuất hiện trong màn hình Lịch sử thông báo và cách trình bày dữ liệu.

Thời gian lưu giữ lịch sử thông báo mặc định là 24 giờ.

Các bài kiểm tra đơn vị này được cung cấp cho từng thành phần của mã:

  • Kiểm tra đơn vị máy chủ hệ thống : FrameworksUiServicesTests
  • Kiểm tra đơn vị cài đặt : make -j64 RunSettingsRoboTests ROBOTEST_FILTER="com.android.settings.notification"