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