Để 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:
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_DENIED
và PERMISSION_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:
- 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 nhằm 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 đố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 |