Система автоматически делает некоторые приложения видимыми, чтобы ваше приложение могло взаимодействовать с ними без необходимости объявлять элемент <queries> . Такое поведение помогает поддерживать базовую функциональность и распространенные сценарии использования.
Типы приложений, которые отображаются автоматически.
Следующие типы приложений всегда видны вашему приложению, даже если оно ориентировано на Android 11 (уровень API 30) или выше:
- Ваше собственное приложение.
- Некоторые системные пакеты , такие как медиапровайдер, реализуют основные функции Android.
- Приложение, которое установило ваше приложение.
- Любое приложение, которое запускает активность в вашем приложении с помощью метода
startActivityForResult(), как описано в руководстве по получению результата от активности . - Любое приложение, которое запускает или подключается к службе в вашем приложении.
- Любое приложение, которое обращается к поставщику контента в вашем приложении.
- Любое приложение, имеющее поставщика контента, к которому вашему приложению предоставлены права доступа по URI .
- Любое приложение, получающее ввод от вашего приложения. Этот случай применим только в том случае, если ваше приложение предоставляет ввод в качестве метода ввода редактора .
Системные пакеты, которые отображаются автоматически.
Некоторые системные пакеты, реализующие основные функции Android, автоматически становятся доступны вашему приложению, даже если оно ориентировано на Android 11 или выше. Конкретный набор пакетов зависит от устройства, на котором запущено ваше приложение.
Чтобы просмотреть полный список пакетов для конкретного устройства, выполните следующую команду в терминале на вашем компьютере разработчика:
adb shell dumpsys package queries
В выводе команды найдите раздел forceQueryable . В этом разделе содержится список пакетов, которые устройство автоматически сделало доступными для вашего приложения.