Giới hạn về ý định toàn màn hình

Để ngăn chặn quảng cáo không liên quan và hành vi lừa đảo đánh cắp thông tin đăng nhập, kể từ Android 14, quyền USE_FULL_SCREEN_INTENT mặc định để gửi thông báo toàn màn hình chỉ được cấp cho những ứng dụng cung cấp chức năng gọi điện và báo thức.

Đối với tất cả ứng dụng được cài đặt trên Android 14, quyền USE_FULL_SCREEN_INTENT được bật theo mặc định. Sau khi cài đặt, Cửa hàng Google Play sẽ thu hồi quyền ý định toàn màn hình (FSI) đối với những ứng dụng không có chức năng gọi điện hoặc báo thức.

Đối với các ứng dụng được cài đặt trên điện thoại chạy phiên bản Android 13 trở xuống, quyền USE_FULL_SCREEN_INTENT vẫn được bật theo mặc định.

Sự cho phép của người dùng

Với Android 14, các ứng dụng có thể sử dụng NotificationManager#canUseFullScreenIntent() để kiểm tra xem có thể gửi thông báo toàn màn hình hay không. Để được người dùng cấp quyền gửi thông báo toàn màn hình, ứng dụng sẽ sử dụng ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT để khởi chạy chế độ cài đặt Quản lý ý định trên toàn màn hình như minh hoạ trong Hình 1:

fsi-ui

Hình 1. Giao diện người dùng để cho phép ứng dụng gửi ý định trên toàn màn hình.

Chế độ cài đặt Quản lý ý định toàn màn hình nằm ở trình đơn Cài đặt trong phần Quyền truy cập đặc biệt của ứng dụng. Với giao diện người dùng này, người dùng có thể thu hồi quyền này nếu cần.

Yêu cầu đối với nhà sản xuất thiết bị gốc (OEM)

Trong Android 14, các quyền FSI cho ứng dụng được bật theo mặc định. Nhà sản xuất thiết bị gốc phải chỉ định những ứng dụng đủ điều kiện để có quyền FSI. OEM phải đảm bảo rằng các cửa hàng ứng dụng bên thứ ba đặt trạng thái cấp quyền ban đầu của quyền FSI cho ứng dụng của họ bằng cách sử dụng PackageInstaller.SessionParams, cụ thể là với các tham số PERMISSION_STATE_DEFAULT, PERMISSION_STATE_DENIEDPERMISSION_STATE_GRANTED.

Xác nhận kết quả

Sử dụng quy trình kiểm tra Trình xác minh CTS trong NotificationFullScreenIntentVerifierActivity.java và thử nghiệm CTS trong NotificationManagerTest.java để xác thực các giới hạn FSI.

Bài kiểm tra thủ công

Hãy làm theo các bước sau để kiểm thử giới hạn FSI trên ứng dụng theo cách thủ công:

  1. Khai báo USE_FULL_SCREEN_INTENT trong tệp AndroidManifest.xml của ứng dụng.
  2. Sử dụng ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT để quản lý chế độ cài đặt nhằm bật hoặc tắt FSI.
  3. Trên điện thoại thử nghiệm, hãy bật/tắt quyền của người dùng đối với thông báo toàn màn hình theo cách thủ công như minh hoạ trong Hình 1.
  4. Gửi thông báo FSI.
  5. Xác thực giao diện của thông báo toàn màn hình cho các tổ hợp sau đây về quyền FSI và chế độ hiển thị:
Quyền đối với Dịch vụ tài chính (FSI) Màn hình đã mở khoá Màn hình khoá Ngoài màn hình Màn hình luôn bật (AOD)
Do người dùng cấp Thông báo quan trọng (HUN) liên tục có các nút hình viên nang Chạy FSI Chạy FSI Mở dịch vụ tài chính (FSI)
Người dùng từ chối HUN bằng các nút thuốc trong 60 giây HUN với các nút hình viên nang xuất hiện đầu tiên trong danh sách trong 60 giây AOD bật, hiển thị HUN với các nút hình viên nang trong 60 giây HUN bằng các nút thuốc trong 60 giây