Triển khai bảng thông báo quan trọng

Trong Android 17 trở lên, Giao diện người dùng có thể mở rộng cho thông báo dạng đầu trang (HUN) cho phép bạn tuỳ chỉnh tính năng quản lý cửa sổ (vị trí, lớp phủ nền, ảnh động) của các bảng HUN bằng khung Giao diện người dùng có thể mở rộng với lớp phủ tài nguyên thời gian chạy (RRO). Tính năng này cho phép kiểm soát vùng chứa của thông báo mà không ảnh hưởng đến quá trình kết xuất nội dung bên trong.

Triển khai

Việc triển khai Giao diện người dùng có thể mở rộng cho HUN bao gồm những việc sau:

  • API công khai và API hệ thống: Giới thiệu lớp HunWindow<HunPanel> logic phân tích cú pháp thẻ XML trong trình phân tích cú pháp Giao diện người dùng có thể mở rộng.
  • Triển khai đối tác:
    • Xác định lớp phủ RRO tuỳ chỉnh.
    • Để tạo tệp XML (ví dụ: res/xml/hun_panel.xml), hãy sử dụng thẻ gốc <HunPanel>.
    • Xác định các phần tử <Variant> để kiểm soát ranh giới, trọng lực (TOP hoặc BOTTOM), khả năng hiển thị và nền (tài nguyên có thể vẽ lớp phủ).
    • Ánh xạ các biến thể đến sự kiện hệ thống (ví dụ: _System_Show_Panel) bằng cách sử dụng <Transitions>.
  • Thiết bị mới so với thiết bị nâng cấp: Đây là thay đổi về cấu hình do RRO thực hiện. Để nâng cấp thiết bị nhằm nhận hình ảnh hệ thống mới, hãy tạo RRO thích hợp để xác định hành vi của HUN. Điều này cho phép người dùng đi lệch khỏi chế độ mặc định.
  • Bật hoặc tắt: Để bật hoặc tắt tính năng này, hãy thêm hoặc xoá @xml/hun_panel khỏi cấu hình window_states.
  • Chế độ cài đặt mặc định: Thay đổi chế độ cài đặt mặc định bằng cách áp dụng RRO của riêng bạn để ghi đè cấu hình mặc định của hệ thống.

Yêu cầu và quy trình xác thực

Hãy sử dụng trình tự sau để kiểm thử việc bật và tắt lớp phủ:

adb shell cmd overlay disable --user current com.example.overlay.scalableUI.hun.bottom

Nếu bạn bật hoặc tắt RRO, HUN sẽ xuất hiện ở dưới cùng hoặc trên cùng.

Quy trình xác thực thủ công

  • Vị trí: Xác minh rằng HUN xuất hiện ở trọng lực (TOP hoặc BOTTOM) và ranh giới đã chỉ định.
  • Tương tác: Xác minh rằng thao tác vuốt để đóng hoạt động (nếu không đóng được, hãy xác minh rằng nút hoạt động).
  • Ảnh động: Xác minh ảnh động chuyển đổi giữa trạng thái mở và đóng.