<alias-attività>

sintassi:
<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>
contenuto in:
<application>
può contenere:
<intent-filter>
<meta-data>
<property>
description:
Un alias per un'attività, denominato dall'attributo targetActivity. La destinazione deve trovarsi nella stessa applicazione dell'alias ed essere dichiarata prima dell'alias nel manifest.

L'alias presenta l'attività di destinazione come un'entità indipendente e può avere il proprio set di filtri di intent. Questi, anziché i filtri di intent sull'attività di destinazione stessa, determinano quali intent possono attivare la destinazione tramite l'alias e come il sistema tratta l'alias.

Ad esempio, i filtri di intent sull'alias potrebbero specificare i flag "android.intent.action.MAIN" e "android.intent.category.LAUNCHER"", facendo in modo che venga rappresentato nel launcher dell'applicazione, anche se nessuno dei filtri sull'attività di destinazione stessa imposta questi flag.

Ad eccezione di targetActivity, <activity-alias> attributi sono un sottoinsieme degli attributi <activity>. Per gli attributi del sottoinsieme, nessuno dei valori impostati per la destinazione viene trasferito all'alias. Tuttavia, per gli attributi non inclusi nel sottoinsieme, i valori impostati per l'attività di destinazione si applicano anche all'alias.

attributi:
android:enabled
Indica se l'attività di destinazione può essere creata un'istanza dal sistema tramite questo alias. "true" se può essere creata un'istanza e "false" in caso contrario. Il valore predefinito è "true".

L'elemento <application> ha il proprio enabled attributo che si applica a tutti i componenti dell'applicazione, inclusi gli alias delle attività. Gli attributi <application> e <activity-alias> devono essere entrambi "true" affinché il sistema possa creare un'istanza dell'attività di destinazione tramite l'alias. Se uno dei due è "false", l'alias non funziona.

android:exported
Indica se i componenti di altre applicazioni possono avviare l'attività di destinazione tramite questo alias. "true" se possono e "false" in caso contrario. Se "false", l'attività di destinazione può essere avviata tramite l'alias solo dai componenti della stessa applicazione dell'alias o dalle applicazioni con lo stesso ID utente.

Il valore predefinito dipende dal fatto che l'alias contenga o meno filtri di intent. L'assenza di filtri significa che l'attività può essere richiamata tramite l'alias solo specificando il nome esatto dell'alias. Ciò implica che l'alias è destinato solo all'uso interno dell'applicazione, poiché gli altri non ne conoscono il nome. Pertanto, il valore predefinito è "false". D'altra parte, la presenza di almeno un filtro implica che l'alias è destinato all'uso esterno, quindi il valore predefinito è "true".

android:icon
Un'icona per l'attività di destinazione quando viene presentata agli utenti tramite l'alias. Per ulteriori informazioni, vedi l'attributo icon dell'elemento <activity>.
android:intentMatchingFlags

Utilizza questo attributo per ottimizzare la modalità di corrispondenza degli intent in entrata con i componenti dell'app da parte del sistema. Per impostazione predefinita, non vengono applicate regole di corrispondenza speciali.

Il valore impostato su un tag <activity-alias> sostituisce il valore impostato sull'elemento <activity> di destinazione o ereditato da <application> per quell'alias specifico. Se non è definito in modo esplicito nell'alias, eredita il comportamento dall'attività di destinazione o dall'applicazione.

Il valore deve essere uno o più dei seguenti flag, separati da '|':

Flag Descrizione
none Disabilita tutte le regole di corrispondenza speciali per gli intent in entrata. Quando specificando più flag, i valori in conflitto vengono risolti dando la precedenza al flag none.
enforceIntentFilter

Applica una corrispondenza più rigorosa per gli intent in entrata:

  • Gli intent espliciti devono corrispondere al filtro di intent del componente di destinazione.
  • Gli intent senza un'azione non corrispondono a nessun filtro di intent.
allowNullAction

Rilassa le regole di corrispondenza per consentire la corrispondenza degli intent senza un'azione. Questo flag viene utilizzato insieme a enforceIntentFilter per ottenere il seguente comportamento:

  • Gli intent espliciti devono corrispondere al filtro di intent del componente di destinazione.
  • Gli intent senza un'azione possono corrispondere a qualsiasi filtro di intent.

Per ulteriori informazioni, consulta la sezione Intent più sicuri in Modifiche al comportamento di Android 16 (livello API 36).

android:label
Un'etichetta leggibile dall'utente per l'alias quando viene presentata agli utenti tramite l'alias. Per ulteriori informazioni, vedi l'attributo label dell'elemento <activity>.
android:name
Un nome univoco per l'alias. Il nome assomiglia a un nome di classe completo. A differenza del nome dell'attività di destinazione, il nome dell'alias è arbitrario. Non fa riferimento a una classe effettiva.
android:permission
Il nome di un'autorizzazione che i client devono avere per avviare l'attività di destinazione o per farla eseguire tramite l'alias. Se a un chiamante di startActivity() o startActivityForResult() non viene concessa l'autorizzazione specificata, l'attività di destinazione non viene attivata.

Questo attributo sostituisce qualsiasi autorizzazione impostata per l'attività di destinazione stessa. Se non è impostato, non è necessaria un'autorizzazione per attivare la destinazione tramite l'alias.

Per ulteriori informazioni sulle autorizzazioni, consulta la sezione Autorizzazioni nella panoramica del manifest dell'app.

android:targetActivity
Il nome dell'attività che può essere attivata tramite l'alias. Questo nome deve corrispondere all'attributo name di un elemento <activity> che precede l'alias nel manifest.
introdotta in:
Livello API 1
vedi anche:
<activity>