Фильтрация видимости пакетов на Android

Когда приложение, ориентированное на Android 11 (уровень API 30) или выше, запрашивает информацию о других приложениях, установленных на устройстве, система по умолчанию фильтрует эту информацию. Такое поведение фильтрации означает, что ваше приложение не может обнаружить все приложения, установленные на устройстве, что помогает минимизировать потенциально конфиденциальную информацию, к которой приложение может получить доступ, но которая не нужна для выполнения его задач.

Кроме того, фильтрация видимости пакетов помогает магазинам приложений, таким как Google Play, оценить уровень конфиденциальности и безопасности, которые ваше приложение предоставляет пользователям. Например, Google Play считает список установленных приложений личными и конфиденциальными данными пользователей .

Ограниченная видимость приложения влияет на результаты, возвращаемые методами, предоставляющими информацию о других приложениях, такими как queryIntentActivities() , getPackageInfo() и getInstalledApplications() . Ограниченная видимость также влияет на явное взаимодействие с другими приложениями, например, на запуск службы другого приложения.

Некоторые пакеты отображаются автоматически . Ваше приложение всегда может обнаружить эти пакеты в своих запросах к другим установленным приложениям. Чтобы просмотреть другие пакеты, укажите потребность вашего приложения в расширенной видимости пакетов, используя элемент <queries> . На странице примеров использования приведены примеры того, как вы можете выборочно расширять видимость пакетов. Описанные там рабочие процессы позволяют реализовать распространенные сценарии взаимодействия приложения, защищая при этом конфиденциальность пользователей.

В редких случаях, когда элемент <queries> не обеспечивает достаточной видимости пакетов, вы можете использовать разрешение QUERY_ALL_PACKAGES . Если вы публикуете свое приложение в Google Play, использование этого разрешения вашим приложением подлежит утверждению .

На странице, посвященной тестированию поведения, зависящего от видимости пакетов, предлагаются рекомендации по тестированию изменений в поведении в зависимости от видимости пакетов, когда ваше приложение взаимодействует с другими приложениями.

Дополнительные ресурсы

Чтобы узнать больше о видимости пакетов в Android, ознакомьтесь со следующими материалами:

Сообщения в блоге