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

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

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

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

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

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

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

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

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

Записи в блоге