Android permission query all packages что это за программа

Android R Preview 1 представил новое разрешение под названием QUERY_ALL_PACKAGES . В документации к разрешению сказано следующее:

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

Кто-нибудь понял, что это на самом деле?

Я пробовал запустить на образе эмулятора следующее, и разрешение не повлияло ни на один из них:

  • packageManager.queryIntentActivities(intent, 0)
  • packageManager.getInstalledPackages(0)

user238753 14 мар ’20 в 07:19 2020-03-14 07:19
2020-03-14 07:19

4 ответа

Они покрывают это больше теперь, когда DP2 отсутствует.

Хотя я еще не тестировал этот аспект R DP2, похоже, что теперь ваше приложение не может узнать, какие еще приложения установлены, в целом. Приведенный пример queryIntentActivities() , но чтобы это действительно сработало, вам придется серьезно провести лоботомию PackageManager . Вы можете занести в белый список определенные пакеты и определенные структуры, чтобы попытаться обойтись этим в определенных случаях использования. И вот где загадочный QUERY_ALL_PACKAGES Разрешение, видимое в DP1, вступает в игру — это разрешение снимает эти новые ограничения. Учитывая предостережение «Ищите Google Play, чтобы предоставить рекомендации для приложений, которым требуется это разрешение», безопаснее всего предположить, что если вы попытаетесь его использовать, в конечном итоге вы будете забанены ботом в Play Store.

Итак, вы можете захотеть повторить свои эксперименты на DP2. Я планирую сделать то же самое в ближайшие недели.

Request Install Package Permission Removed

user115145 20 мар ’20 в 02:39 2020-03-20 02:39
2020-03-20 02:39

Даже когда разрешение QUERY_ALL_PACKAGES добавлен, вам еще нужно добавить фильтр к вашему AndroidManifest .

Например, для приложения запуска это может быть:

user7658607 08 мар ’21 в 10:52 2021-03-08 10:52
2021-03-08 10:52

Читайте также:
Apple silicon что это за программа

В Android 11 внесены изменения, связанные с видимостью пакетов. Эти изменения влияют на приложения, только если они нацелены на Android 11. Дополнительные сведения об этих изменениях см. В руководствах по видимости пакетов на Android.

В моем случае Cordova-android 10.1.1, targetSdkVersion 30

user7889763 08 окт ’21 в 06:41 2021-10-08 06:41
2021-10-08 06:41

Если приложение пытается связаться с другим приложением, это разрешение следует добавить для Android 11+, иначе эти приложения не будут работать / запускаться.

Источник: stackru.com

Как добавить в manifest разрешение QUERY_ALL_PACKAGES

В документации говориться добавить разрешение в манифест, чтобы получить все установленные приложения на устройстве начиная с Android 11 и выше, я добавил но подчеркивает красным и пишет
A declaration should generally be used instead of QUERY_ALL_PACKAGES; see https://g.co/dev/packagevisibility for details

Query all packages permission


Что я делаю не так ?

Отслеживать
17.8k 11 11 золотых знаков 24 24 серебряных знака 51 51 бронзовый знак
задан 25 янв в 13:35
1 1 1 бронзовый знак

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Android 11 и выше используют новую систему разрешений, которая называется «Declarations». Вместо разрешения QUERY_ALL_PACKAGES надо использовать объявление packageVisibility.

На месте com.example.mypackage укажите имя вашего пакета.

После этого, нужно запросить разрешение packageVisibility у пользователя при запуске приложения, с помощью метода requestPermissions().

Источник: ru.stackoverflow.com

Как получить список установленных приложений в Android 11

Как получить список установленных приложений в Android 11

В Android 11 мы видим множество обновлений, улучшающих конфиденциальность. Если ваше приложение использует эти методы для получения списка установленных приложений на устройстве пользователя, вам придется внести некоторые изменения в свой код для устройств, использующих Android 11. В этом сообщении блога мы обсудим все наши варианты.

Читайте также:
Что за программа miui biometric это на Xiaomi

Если вы уже запрашиваете приложения, установленные пользователем, следующий фрагмент кода будет вам знаком. Так вы можете получить список установленных приложений пользователя.

val packages = packageManager.getInstalledApplications(PackageManager.GET_META_DATA) for (packageInfo in packages) Log.d(TAG, «Package name:» + packageInfo.packageName) >

Теперь для ваших пользователей, использующих Android 11, код останется прежним, но он не будет работать, если вы не добавите дополнительные элементы в AndroidManifest.

Существует 3 различных способа запроса установленных пользователем приложений в Android 11. Давайте посмотрим на них:

Запросить определенные пакеты

Если вы уже знаете, какие приложения вы хотите запросить, просто укажите имена пакетов внутри элемента в. AndroidManifest

manifest package=»ru.inceptive.app»> queries> package android_name=»com.fake.app» /> package android_name=»com.fake.game» /> queries> . manifest>

Запрос с использованием фильтра намерений

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

manifest package=»ru.inceptive.app»> queries> intent> action android_name=»android.intent.action.SEND» /> data android_mimeType=»image/jpeg» /> intent> queries> . manifest>

Элемент выглядит так, но есть несколько отличий. элемент имеет следующие ограничения:

Запросить все приложения

Если вы хотите запросить все приложения пользователя, как делали раньше, вам необходимо включить разрешение в файл. Это разрешение, и оно предоставляется, как только приложение будет установлено. QUERY_ALL_PACKAGES

uses-permission android_name=»android.permission.QUERY_ALL_PACKAGES»/>

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

Теги:
  • Как получить список установленных приложений в Android 11
  • Android 11
Читайте также:
Настройка устройства Андроид что это за программа

Источник: inceptive.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru