- Sintaxe:
<activity-alias android:enabled=["true" | "false"] android:exported=["true" | "false"] android:icon="drawable resource" android:label="string resource" android:name="string" android:permission="string" android:targetActivity="string" > ... </activity-alias>
- contido em:
<application>
- pode conter:
<intent-filter>
<meta-data>
- descrição:
- Um alias para uma atividade, nomeado pelo
atributo
targetActivity
. O destino precisa estar no mesmo aplicativo que o alias e ser declarado antes do alias no manifesto.O alias apresenta a atividade de destino como uma entidade independente e pode ter o próprio conjunto de filtros de intent. Em vez de determinar os filtros de intent na própria atividade de destino, eles determinam quais intents podem ativar o destino usando o alias e de que forma o sistema trata o alias.
Por exemplo, os filtros de intent no alias podem especificar as flags
"android.intent.action.MAIN"
e"android.intent.category.LAUNCHER"
, fazendo com que ele seja representado no inicializador do aplicativo, mesmo que nenhum dos filtros na atividade de destino defina essas flags.Os atributos
<activity-alias>
, excetotargetActivity
, são um subconjunto dos atributos<activity>
. Em atributos do subconjunto, nenhum dos valores definidos para o destino é transferido ao alias. No entanto, para atributos que não estão no subconjunto, os valores definidos da atividade de destino também se aplicam ao alias. - Atributos:
android:enabled
- Define se a atividade de destino pode ser instanciada pelo sistema usando
esse alias:
"true"
, se puder, ou, caso contrário,"false"
. O valor padrão é"true"
.O elemento
<application>
tem o próprio atributoenabled
para todos os componentes de aplicativo, incluindo os aliases de atividade. Tanto o atributo<application>
quanto o<activity-alias>
precisam ser"true"
para que o sistema possa instanciar a atividade de destino usando o alias. Se um deles for"false"
, o alias não vai funcionar. android:exported
- Define se os componentes de outros aplicativos podem iniciar a atividade de destino
com esse alias:
"true"
, se puderem, ou, caso contrário,"false"
. Se o valor for"false"
, a atividade de destino pode ser iniciada com o alias somente por componentes do mesmo aplicativo que o alias ou aplicativos com o mesmo ID de usuário.O valor padrão depende de o alias conter ou não filtros de intents. A ausência de filtros significa que a atividade só pode ser invocada pelo alias com a especificação do nome exato dele. Isso indica que o alias se destina somente ao uso interno do aplicativo, já que outros não sabem o nome dele. Portanto, o valor padrão é
"false"
. Por outro lado, a presença de pelo menos um filtro implica que o alias se destina a uso externo. Assim, o valor padrão é"true"
. android:icon
- Um ícone para a atividade de destino quando apresentado aos usuários pelo alias.
Para saber mais, consulte o atributo
icon
do elemento<activity>
. android:label
- Rótulo legível pelo usuário para o alias quando apresentado aos usuários pelo alias.
Para saber mais, consulte o atributo
label
do elemento<activity>
. android:name
- O nome exclusivo do alias. O nome é parecido com um nome de classe totalmente qualificado. No entanto, ao contrário do nome da atividade de destino, o nome do alias é arbitrário. Ele não se refere a uma classe real.
android:permission
- O nome de uma permissão que os clientes precisam ter para iniciar a atividade de destino
ou conseguir que ela faça algo usando o alias. Se um autor da chamada de
startActivity()
oustartActivityForResult()
não receber a permissão especificada, a atividade de destino não será ativada.Esse atributo substitui qualquer conjunto de permissões para a atividade de destino em si. Se ele não for definido, não será necessária uma permissão para ativar o destino pelo alias.
Para saber mais sobre permissões, consulte a seção Permissões na visão geral do manifesto do app.
android:targetActivity
- O nome da atividade que pode ser ativada pelo alias.
Esse nome precisa corresponder ao atributo
name
de um elemento<activity>
que precede o alias no manifesto.
- Introduzido no:
- Nível 1 da API
- confira também:
<activity>
<activity-alias>
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-07-27 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 2025-07-27 UTC."],[],[],null,["# <activity-alias\u003e\n\nsyntax:\n:\n\n ```xml\n \u003cactivity-alias android:enabled=[\"true\" | \"false\"]\n android:exported=[\"true\" | \"false\"]\n android:icon=\"drawable resource\"\n android:label=\"string resource\"\n android:name=\"string\"\n android:permission=\"string\"\n android:targetActivity=\"string\" \u003e\n ...\n \u003c/activity-alias\u003e\n ```\n\ncontained in:\n: [\u003capplication\u003e](/guide/topics/manifest/application-element)\n\ncan contain:\n: [\u003cintent-filter\u003e](/guide/topics/manifest/intent-filter-element)\n\n [\u003cmeta-data\u003e](/guide/topics/manifest/meta-data-element)\n\ndescription:\n: An alias for an activity, named by the `targetActivity`\n attribute. The target must be in the same application as the\n alias and declared before the alias in the manifest.\n\n\n The alias presents the target activity as an independent entity, and can have its own set of intent\n filters. They, rather than the\n intent filters on the target activity itself, determine which intents\n can activate the target through the alias and how the system\n treats the alias.\n\n For example, the intent filters on the alias might\n specify the [\"android.intent.action.MAIN\"](/reference/android/content/Intent#ACTION_MAIN)\n and [\"android.intent.category.LAUNCHER\"](/reference/android/content/Intent#CATEGORY_LAUNCHER)\" flags, causing it to\n be represented in the application launcher, even though none of the\n filters on the target activity itself set these flags.\n\n\n With the exception of `targetActivity`, `\u003cactivity-alias\u003e`\n attributes are a subset of [\u003cactivity\u003e](/guide/topics/manifest/activity-element) attributes.\n For attributes in the subset, none of the values set for the target carry over\n to the alias. However, for attributes not in the subset, the values set for\n the target activity also apply to the alias.\n\nattributes:\n:\n\n `android:enabled`\n : Whether the target activity can be instantiated by the system through\n this alias. `\"true\"` if it can be, and `\"false\"` if not.\n The default value is `\"true\"`.\n\n\n The [\u003capplication\u003e](/guide/topics/manifest/application-element) element has its own\n [enabled](/guide/topics/manifest/application-element#enabled) attribute that applies to all\n application components, including activity aliases. The\n `\u003capplication\u003e` and `\u003cactivity-alias\u003e`\n attributes must both be `\"true\"` for the system to be able to instantiate\n the target activity through the alias. If either is `\"false\"`, the alias\n doesn't work.\n\n `android:exported`\n : Whether the components of other applications can launch the target activity\n through this alias. `\"true\"` if they can, and `\"false\"` if not.\n If `\"false\"`, the target activity can be launched through the alias only by\n components of the same application as the alias or applications with the same user ID.\n\n\n The default value depends on whether the alias contains intent filters. The\n absence of any filters means that the activity can be invoked through the alias\n only by specifying the exact name of the alias. This implies that the alias\n is intended only for application-internal use, since others don't know its name.\n So, the default value is `\"false\"`.\n On the other hand, the presence of at least one filter implies that the alias\n is intended for external use, so the default value is `\"true\"`.\n\n `android:icon`\n : An icon for the target activity when presented to users through the alias.\n For more information, see the [\u003cactivity\u003e](/guide/topics/manifest/activity-element) element's\n [icon](/guide/topics/manifest/activity-element#icon) attribute.\n\n `android:label`\n : A user-readable label for the alias when presented to users through the alias.\n For more information, see the [\u003cactivity\u003e](/guide/topics/manifest/activity-element) element's\n [label](/guide/topics/manifest/activity-element#label) attribute.\n\n \u003cbr /\u003e\n\n `android:name`\n\n : A unique name for the alias. The name resembles a fully qualified class name. But, unlike the name of the target activity, the alias name is arbitrary. It doesn't refer to an actual class. \u003cbr /\u003e\n\n `android:permission`\n : The name of a permission that clients must have to launch the target activity\n or get it to do something using the alias. If a caller of\n [startActivity()](/reference/android/content/Context#startActivity(android.content.Intent)) or\n [startActivityForResult()](/reference/android/app/Activity#startActivityForResult(android.content.Intent, int))\n isn't granted the specified permission, the target activity isn't activated.\n\n This attribute supplants any permission set for the target activity itself. If\n it isn't set, a permission isn't needed to activate the target through the alias.\n\n\n For more information about permissions, see the\n [Permissions](/guide/topics/manifest/manifest-intro#perms)\n section in the app manifest overview.\n\n `android:targetActivity`\n : The name of the activity that can be activated through the alias.\n This name must match the `name` attribute of an\n [\u003cactivity\u003e](/guide/topics/manifest/activity-element) element that precedes\n the alias in the manifest.\n\n \u003cbr /\u003e\n\nintroduced in:\n: API level 1\n\nsee also:\n: [\u003cactivity\u003e](/guide/topics/manifest/activity-element)"]]