Тег queries
Тег queries стоит в корне
manifest
и с API 30 ограничивает package visibility.
Без queries PackageManager
не увидит многие установленные приложения.
Внутри перечисляют package
или вложенный intent
с action, который нужно проверить.
Синтаксис
<queries>
<package android:name="com.example.other" />
</queries>
Параметры
| Параметр | Описание |
|---|---|
package |
Дочерний тег с атрибутом name -
пакет, который приложение может «видеть».
|
intent |
Дочерний блок с action, provider или другими элементами intent, которые нужно разрешить для query. |
Пример
Давайте разрешим видеть браузер и свой банковский пакет:
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<queries>
<intent>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="https" />
</intent>
<package android:name="com.example.bank" />
</queries>
<application android:label="@string/app_name" />
</manifest>
Система позволит приложению узнать,
есть ли обработчик https и установлен ли
пакет com.example.bank.
Смотрите также
-
тег
manifest,
куда кладут queries рядом с application -
тег
intent-filter,
похожая структура action внутри intent -
тег
action,
которым описывают intent в queries -
тег
uses-permission,
отдельно от visibility пакетов