Lọc chế độ hiển thị gói trên Android

Khi một ứng dụng nhắm đến Android 11 (API cấp độ 30) trở lên và truy vấn để biết thông tin về các ứng dụng khác được cài đặt trên một thiết bị, theo mặc định, hệ thống sẽ lọc thông tin này. Hành vi lọc này có nghĩa là ứng dụng của bạn không thể phát hiện tất cả ứng dụng đã cài đặt trên thiết bị, giúp giảm thiểu thông tin nhạy cảm tiềm ẩn mà ứng dụng của bạn có thể truy cập nhưng không cần thực hiện trường hợp sử dụng.

Ngoài ra, phạm vi xem gói được lọc giúp cửa hàng ứng dụng như Google Play đánh giá quyền riêng tư và bảo mật mà ứng dụng của bạn cung cấp cho người dùng. Ví dụ: Google Play coi danh sách các ứng dụng đã cài đặt là dữ liệu cá nhân và nhạy cảm của người dùng.

Phạm vi hiển thị của ứng dụng bị hạn chế ảnh hưởng đến kết quả được trả về bằng các phương thức cung cấp thông tin về các ứng dụng khác, chẳng hạn như queryIntentActivities(), getPackageInfo(), và getInstalledApplications(). Phạm vi hiển thị bị hạn chế cũng ảnh hưởng đến khả năng tương tác rõ ràng với các ứng dụng khác, như khởi động dịch vụ của một ứng dụng khác.

Một số gói có thể tự động hiển thị. Ứng dụng của bạn luôn có thể nhận diện các gói này trong truy vấn của mình về các ứng dụng đã được cài khác. Để xem các gói khác, khai báo rằng ứng dụng của bạn cần tăng phạm vi hiển thị gói bằng phần tử <queries>. Trang trường hợp sử dụng cung cấp các ví dụ về cách bạn có thể mở rộng một cách có chọn lọc khả năng hiển thị gói. Quy trình làm việc được mô tả tại đó cho phép bạn thực hiện các trường hợp tương tác phổ biến trong ứng dụng, đồng thời bảo vệ quyền riêng tư của người dùng.

Trong những trường hợp hiếm hoi khi phần tử <queries> không cung cấp phạm vi xem gói thích đáng, bạn có thể sử dụng quyền QUERY_ALL_PACKAGES. Nếu bạn phát hành ứng dụng trên Google Play, việc sử dụng quyền này của ứng dụng cần được phê duyệt.

Trang về kiểm thử hành vi hiển thị gói sẽ đưa ra các đề xuất về cách kiểm thử các thay đổi về hành vi dựa trên chế độ hiển thị gói khi ứng dụng của bạn dựa vào hoạt động tương tác với các ứng dụng khác.

Tài nguyên khác

Để tìm hiểu thêm về phạm vi hiển thị gói trên Android, xem các tài liệu sau:

Bài đăng trên blog