Trong Android 14 trở lên, để 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,
quyền USE_FULL_SCREEN_INTENT
mặc định để gửi thông báo toàn màn hình chỉ có thể đượ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 về ý đị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 những ứng dụng được cài đặt trên điện thoại chạy Android 13 trở xuống, quyền USE_FULL_SCREEN_INTENTvẫ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 chúng 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, các ứ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 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 các ứng dụng gửi ý định toàn màn hình.
Chế độ cài đặt Quản lý ý định 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 của OEM
Trong Android 14, quyền FSI đối với các ứng dụng được bật theo mặc định. OEM phải chỉ định những ứng dụng đủ điều kiện nhận 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 các ứ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 bài kiểm tra Trình xác minh CTS trong NotificationFullScreenIntentVerifierActivity.java,
và bài kiểm tra 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ử thủ công các giới hạn FSI trên ứng dụng của bạn:
- Khai báo
USE_FULL_SCREEN_INTENTtrong tệpAndroidManifest.xmlcủ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 kiểm thử, hãy chuyển đổi thủ công sự cho phép của người dùng đối với thông báo toàn màn hình 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 quyền FSI và chế độ hiển thị sau:
| Quyền FSI | Màn hình đã mở khoá | Màn hình đã khoá | Màn hình tắt | 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 thuốc | Khởi chạy FSI | Khởi chạy FSI | Khởi chạy FSI |
| Do người dùng từ chối | HUN có các nút hình viên thuốc trong 60 giây | HUN có các nút hình viên thuốc xuất hiện đầu tiên trong danh sách trong 60 giây | AOD bật, hiển thị HUN có các nút hình viên thuốc trong 60 giây | HUN có các nút hình viên thuốc trong 60 giây |