<alias-aktywności>

składnia:
<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>
zawiera się w:
<application>
może zawierać:
<intent-filter>
<meta-data>
<property>
opis:
Alias aktywności, którego nazwa jest określona przez atrybut targetActivity. Cel musi znajdować się w tej samej aplikacji co alias i być zadeklarowany w manifeście przed aliasem.

Alias przedstawia aktywność docelową jako niezależny element i może mieć własny zestaw filtrów intencji. To one, a nie filtry intencji w samej aktywności docelowej, określają, które intencje mogą aktywować cel za pomocą aliasu i jak system traktuje alias.

Na przykład filtry intencji w aliasie mogą określać flagi "android.intent.action.MAIN" i "android.intent.category.LAUNCHER", co spowoduje, że będzie on reprezentowany w programie uruchamiającym aplikacje, nawet jeśli żaden z filtrów w samej aktywności docelowej nie ustawia tych flag.

Z wyjątkiem targetActivity atrybuty <activity-alias> są podzbiorem atrybutów <activity>. W przypadku atrybutów w podzbiorze żadne wartości ustawione dla celu nie są przenoszone do aliasu. Jednak w przypadku atrybutów, które nie znajdują się w podzbiorze, wartości ustawione dla aktywności docelowej mają zastosowanie również do aliasu.

atrybuty:
android:enabled
Określa, czy system może utworzyć instancję aktywności docelowej za pomocą tego aliasu. Wartość "true" oznacza, że może, a "false" – że nie może. Wartością domyślną jest "true".

Element <application> ma własny enabled atrybut, który ma zastosowanie do wszystkich komponentów aplikacji, w tym do aliasów aktywności. Aby system mógł utworzyć instancję aktywności docelowej za pomocą aliasu, atrybuty <application> i <activity-alias> muszą mieć wartość "true". Jeśli którykolwiek z nich ma wartość "false", alias nie działa.

android:exported
Określa, czy komponenty innych aplikacji mogą uruchamiać aktywność docelową za pomocą tego aliasu. Wartość "true" oznacza, że mogą, a "false" – że nie mogą. Jeśli wartość to "false", aktywność docelową można uruchomić za pomocą aliasu tylko przez komponenty tej samej aplikacji co alias lub aplikacji z tym samym identyfikatorem użytkownika.

Wartość domyślna zależy od tego, czy alias zawiera filtry intencji. Brak filtrów oznacza, że aktywność można wywołać za pomocą aliasu tylko przez podanie dokładnej nazwy aliasu. Oznacza to, że alias jest przeznaczony tylko do użytku wewnętrznego w aplikacji, ponieważ inne aplikacje nie znają jego nazwy. Dlatego wartością domyślną jest "false". Z drugiej strony, obecność co najmniej 1 filtra oznacza, że alias jest przeznaczony do użytku zewnętrznego, więc wartością domyślną jest "true".

android:icon
Ikona aktywności docelowej, gdy jest ona prezentowana użytkownikom za pomocą aliasu. Więcej informacji znajdziesz w opisie atrybutu icon elementu <activity>.
android:intentMatchingFlags

Użyj tego atrybutu, aby dostosować sposób, w jaki system dopasowuje przychodzące intencje do komponentów aplikacji. Domyślnie nie są stosowane żadne specjalne reguły dopasowywania.

Wartość ustawiona w tagu <activity-alias> zastępuje wartość ustawioną w docelowym tagu <activity> lub odziedziczoną z tagu <application> dla tego konkretnego aliasu. Jeśli nie jest ona jawnie zdefiniowana w aliasie, dziedziczy zachowanie z aktywności docelowej lub aplikacji.

Wartość musi być jedną lub kilkoma z tych flag rozdzielonych znakiem „|”:

Flaga Opis
none Wyłącza wszystkie specjalne reguły dopasowywania przychodzących intencji. Jeśli określisz kilka flag, sprzeczne wartości zostaną rozwiązane przez przyznanie pierwszeństwa fladze none.
enforceIntentFilter

Wymusza bardziej rygorystyczne dopasowywanie przychodzących intencji:

  • Jawne intencje muszą pasować do filtra intencji komponentu docelowego.
  • Intencje bez działania nie pasują do żadnego filtra intencji.
allowNullAction

Zmiękcza reguły dopasowywania, aby umożliwić dopasowywanie intencji bez działania. Ta flaga jest używana w połączeniu z enforceIntentFilter, aby uzyskać to zachowanie:

  • Jawne intencje muszą pasować do filtra intencji komponentu docelowego.
  • Intencje bez działania mogą pasować do dowolnego filtra intencji.

Więcej informacji znajdziesz w sekcji Bezpieczniejsze intencje w artykule Zmiany sposobu działania w Androidzie 16 (poziom API 36).

android:label
Etykieta aliasu czytelna dla użytkownika, gdy jest on prezentowany użytkownikom za pomocą aliasu. Więcej informacji znajdziesz w opisie atrybutu label elementu <activity>.
android:name
Unikalna nazwa aliasu. Nazwa przypomina pełną nazwę klasy. W przeciwieństwie do nazwy aktywności docelowej nazwa aliasu jest dowolna. Nie odnosi się do rzeczywistej klasy.
android:permission
Nazwa uprawnienia, które klienci muszą mieć, aby uruchomić aktywność docelową lub spowodować, że wykona ona coś za pomocą aliasu. Jeśli element wywołujący startActivity() lub startActivityForResult() nie ma określonego uprawnienia, aktywność docelowa nie zostanie aktywowana.

Ten atrybut zastępuje wszystkie uprawnienia ustawione dla samej aktywności docelowej. Jeśli nie jest ustawiony, do aktywowania celu za pomocą aliasu nie jest potrzebne uprawnienie.

Więcej informacji o uprawnieniach znajdziesz w sekcji Uprawnienia w artykule Omówienie manifestu aplikacji.

android:targetActivity
Nazwa aktywności, którą można aktywować za pomocą aliasu. Ta nazwa musi być zgodna z atrybutem name elementu <activity>, który poprzedza alias w manifeście.
wprowadzono w:
poziomie API 1
zobacz też:
<activity>