Biết gói nào sẽ tự động hiển thị

Hệ thống đặt tự động một số ứng dụng ở chế độ hiển thị để ứng dụng của bạn có thể tương tác với những ứng dụng đó mà không cần khai báo phần tử <queries>. Hành vi này giúp hỗ trợ chức năng cơ bản và các trường hợp sử dụng phổ biến.

Các loại ứng dụng tự động hiển thị

Các loại ứng dụng sau luôn hiển thị với ứng dụng của bạn, ngay cả khi ứng dụng nhắm đến Android 11 (API cấp 30) trở lên:

  • Ứng dụng của riêng bạn.
  • Các gói hệ thống nhất định, chẳng hạn như trình cung cấp nội dung đa phương tiện, triển khai chức năng cốt lõi của Android.
  • Ứng dụng đã cài đặt ứng dụng của bạn.
  • Bất kỳ ứng dụng nào chạy một hoạt động trong ứng dụng của bạn bằng cách sử dụng phương thức startActivityForResult(), như được mô tả trong hướng dẫn về nhận kết quả từ một hoạt động.
  • Bất kỳ ứng dụng nào khởi động hoặc liên kết với một dịch vụ trong ứng dụng của bạn.
  • Bất kỳ ứng dụng nào truy cập vào trình cung cấp nội dung trong ứng dụng của bạn.
  • Bất kỳ ứng dụng nào có trình cung cấp nội dung mà ứng dụng của bạn đã được cấp quyền URI để truy cập.
  • Bất kỳ ứng dụng nào nhận được dữ liệu đầu vào từ ứng dụng của bạn. Trường hợp này chỉ áp dụng khi ứng dụng của bạn cung cấp dữ liệu đầu vào ở dạng trình chỉnh sửa phương thức nhập.

Các gói hệ thống tự động hiển thị

Một số gói hệ thống triển khai chức năng cốt lõi của Android sẽ tự động hiển thị với ứng dụng của bạn, ngay cả khi ứng dụng nhắm đến Android 11 trở lên. Tập hợp các gói cụ thể phụ thuộc vào thiết bị chạy ứng dụng của bạn.

Để xem toàn bộ danh sách các gói cho một thiết bị cụ thể, hãy chạy lệnh sau trong thiết bị đầu cuối trên máy phát triển của bạn:

adb shell dumpsys package queries

Trong đầu ra lệnh, hãy tìm phần forceQueryable. Phần này bao gồm danh sách các gói mà thiết bị đã đặt ở chế độ tự động hiển thị với ứng dụng của bạn.