Когда приложение предназначено для Android 11 (API уровня 30) или выше и запрашивает информацию о других приложениях, установленных на устройстве, система по умолчанию фильтрует эту информацию. Такая фильтрация означает, что ваше приложение не может обнаружить все приложения, установленные на устройстве, что помогает минимизировать объём потенциально конфиденциальной информации, к которой приложение может получить доступ, но которая не требуется для реализации его сценариев использования.
Кроме того, фильтрация пакетов помогает магазинам приложений, таким как Google Play, оценивать уровень конфиденциальности и безопасности, который ваше приложение обеспечивает пользователям. Например, Google Play считает список установленных приложений персональными и конфиденциальными данными пользователя .
Ограниченная видимость приложения влияет на результаты, возвращаемые методами, предоставляющими информацию о других приложениях, такими как queryIntentActivities()
, getPackageInfo()
и getInstalledApplications()
. Ограниченная видимость также влияет на явное взаимодействие с другими приложениями, например на запуск службы другого приложения.
Некоторые пакеты отображаются автоматически . Ваше приложение всегда может обнаружить эти пакеты в своих запросах к другим установленным приложениям. Чтобы увидеть другие пакеты, укажите потребность вашего приложения в расширенной видимости пакетов с помощью элемента <queries>
. На странице с примерами использования представлены примеры выборочного расширения видимости пакетов. Описанные там рабочие процессы позволяют реализовать распространённые сценарии взаимодействия с приложением, обеспечивая при этом конфиденциальность пользователей.
В редких случаях, когда элемент <queries>
не обеспечивает адекватной видимости пакетов, можно использовать разрешение QUERY_ALL_PACKAGES
. При публикации приложения в Google Play использование этого разрешения подлежит одобрению .
На странице о тестировании поведения видимости пакетов приведены рекомендации по тестированию изменений поведения на основе видимости пакетов, когда ваше приложение взаимодействует с другими приложениями.
Дополнительные ресурсы
Чтобы узнать больше о видимости пакетов на Android, просмотрите следующие материалы:
Записи в блоге
- Видимость пакетов в Android 11 , доступна на Medium.