<псевдоним активности>

синтаксис:
<activity-alias android:enabled=["true" | "false"]
                android:exported=["true" | "false"]
                android:icon="drawable resource"
                android:intentMatchingFlags=["none" | "enforceIntentFilter" | "allowNullAction"]
                android:label="string resource"
                android:name="string"
                android:permission="string"
                android:targetActivity="string" >
    ...
</activity-alias>
содержится в:
<application>
может содержать:
<intent-filter>
<meta-data>
<property>
описание:
Псевдоним для активности, заданный атрибутом targetActivity . Целевая активность должна находиться в том же приложении, что и псевдоним, и быть указана перед псевдонимом в манифесте.

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

Например, фильтры намерений для псевдонима могут указывать флаги "android.intent.action.MAIN" и "android.intent.category.LAUNCHER" , в результате чего он будет отображаться в панели запуска приложения, даже если ни один из фильтров самой целевой активности не устанавливает эти флаги.

За исключением targetActivity , атрибуты <activity-alias> являются подмножеством атрибутов <activity> . Для атрибутов, входящих в это подмножество, ни одно из значений, установленных для целевого объекта, не переносится на псевдоним. Однако для атрибутов, не входящих в это подмножество, значения, установленные для целевого объекта активности, также применяются к псевдониму.

атрибуты:
android:enabled
Указывает, может ли система инициализировать целевое действие с помощью этого псевдонима. "true" если это возможно, и "false" если нет. Значение по умолчанию - "true" .

Элемент <application> имеет собственный атрибут enabled , который применяется ко всем компонентам приложения, включая псевдонимы действий. Для того чтобы система могла создать экземпляр целевого действия через псевдоним, атрибуты <application> и <activity-alias> должны быть оба равны "true" Если хотя бы один из них равен "false" , псевдоним не будет работать.

android:exported
Указывает, могут ли компоненты других приложений запускать целевое действие через этот псевдоним. "true" если могут, и "false" если нет. Если "false" , целевое действие может быть запущено через псевдоним только компонентами того же приложения, что и псевдоним, или приложениями с тем же идентификатором пользователя.

Значение по умолчанию зависит от того, содержит ли псевдоним фильтры намерений. Отсутствие каких-либо фильтров означает, что активность может быть вызвана через псевдоним только с указанием точного имени псевдонима. Это подразумевает, что псевдоним предназначен только для использования внутри приложения, поскольку другие не знают его имени. Поэтому значение по умолчанию — "false" . С другой стороны, наличие хотя бы одного фильтра подразумевает, что псевдоним предназначен для внешнего использования, поэтому значение по умолчанию — "true" .

android:icon
Значок для целевого действия, отображаемый пользователям через псевдоним. Для получения дополнительной информации см. атрибут icon элемента <activity> .
android:intentMatchingFlags

Используйте этот атрибут для точной настройки сопоставления входящих интентов с компонентами приложения. По умолчанию специальные правила сопоставления не применяются.

Значение, заданное в теге <activity-alias> , переопределяет значение, заданное в целевом <activity> или унаследованное от <application> для этого конкретного псевдонима. Если оно не определено явно в псевдониме, то наследуется поведение от целевого действия или приложения.

Значение должно представлять собой один или несколько из следующих флагов, разделенных символом ' | ':

Флаг Описание
none Отключает все специальные правила сопоставления для входящих интентов. При указании нескольких флагов конфликтующие значения разрешаются путем отдачи приоритета флагу none .
enforceIntentFilter

Применяет более строгий контроль за соответствием входящих запросов:

  • Явные намерения должны соответствовать фильтру намерений целевого компонента.
  • Интенты без действия не соответствуют ни одному фильтру интентов.
allowNullAction

Смягчает правила сопоставления, позволяя сопоставлять намерения без действия. Этот флаг используется совместно с enforceIntentFilter для достижения следующего поведения:

  • Явные намерения должны соответствовать фильтру намерений целевого компонента.
  • Намерения, не содержащие конкретного действия, могут соответствовать любому фильтру намерений.

Для получения дополнительной информации см. раздел «Безопасные намерения» в описании изменений в поведении Android 16 (уровень API 36).

android:label
Удобочитаемая для пользователя метка для псевдонима, отображаемого пользователям через этот псевдоним. Для получения дополнительной информации см. атрибут label элемента <activity> .
android:name
Уникальное имя для псевдонима. Это имя напоминает полное имя класса. В отличие от имени целевой активности, имя псевдонима является произвольным. Оно не ссылается на реальный класс.
android:permission
Название разрешения, которым должны обладать клиенты для запуска целевой активности или выполнения ею каких-либо действий с использованием псевдонима. Если вызывающему методу startActivity() или startActivityForResult() не предоставлено указанное разрешение, целевая активность не активируется.

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

Для получения дополнительной информации о разрешениях см. раздел «Разрешения» в обзоре манифеста приложения.

android:targetActivity
Название действия, которое можно активировать с помощью псевдонима. Это название должно совпадать с атрибутом name элемента <activity> , предшествующего псевдониму в манифесте.
введено в:
Уровень API 1
См. также:
<activity>