Để 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, bắt đầu 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.
Quyền 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 truy cập chế độ toàn màn hình như minh hoạ trong Hình 1:
Hình 1. Giao diện người dùng để cho phép ứng dụng gửi ý định toàn màn hình.
Chế độ cài đặt Quản lý ý định trên toàn màn hình nằm trong 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. Nhà sản xuất thiết bị gốc (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_DENIED
và PERMISSION_STATE_GRANTED
.
Xác nhận kết quả
Sử dụng kiểm thử Trình xác minh CTS trong NotificationFullScreenIntentVerifierActivity.java
và kiểm thử 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:
- Khai báo
USE_FULL_SCREEN_INTENT
trong tệpAndroidManifest.xml
của ứng dụng. - Sử dụng
ACTION_MANAGE_APP_USE_FULL_SCREEN_INTENT
để quản lý chế độ cài đặt bật hoặc tắt FSI. - 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.
- Gửi thông báo FSI.
- 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 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 | Chạy FSI |
Người dùng từ chối | HUN với nút hình viên nang trong 60 giây | HUN với 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 thuốc trong 60 giây | HUN với nút hình viên nang trong 60 giây |