page.title=<activity-alias> parent.title=The AndroidManifest.xml File parent.link=manifest-intro.html @jd:body
<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>
<application>
<intent-filter>
<meta-data>
The alias presents the target activity as a independent entity.
It can have its own set of intent filters, and they, rather than the
intent filters on the target activity itself, determine which intents
can activate the target through the alias and how the system
treats the alias. For example, the intent filters on the alias may
specify the "{@link android.content.Intent#ACTION_MAIN
android.intent.action.MAIN}
"
and "{@link android.content.Intent#CATEGORY_LAUNCHER
android.intent.category.LAUNCHER}
" flags, causing it to be
represented in the application launcher, even though none of the
filters on the target activity itself set these flags.
With the exception of {@code targetActivity}, {@code <activity-alias>}
attributes are a subset of <activity>
attributes.
For attributes in the subset, none of the values set for the target carry over
to the alias. However, for attributes not in the subset, the values set for
the target activity also apply to the alias.
The <application>
element has its own
enabled
attribute that applies to all
application components, including activity aliases. The
<application>
and {@code <activity-alias>}
attributes must both be "{@code true}" for the system to be able to instantiate
the target activity through the alias. If either is "{@code false}", the alias
does not work.
The default value depends on whether the alias contains intent filters. The absence of any filters means that the activity can be invoked through the alias only by specifying the exact name of the alias. This implies that the alias is intended only for application-internal use (since others would not know its name) — so the default value is "{@code false}". On the other hand, the presence of at least one filter implies that the alias is intended for external use — so the default value is "{@code true}".
<activity>
element's
icon
attribute for more information.
<activity>
element's
label
attribute for more information.
{@link android.content.Context#startActivity startActivity()}
or
{@link android.app.Activity#startActivityForResult startActivityForResult()}
has not been granted the specified permission, the target activity will not be
activated.
This attribute supplants any permission set for the target activity itself. If it is not set, a permission is not needed to activate the target through the alias.
For more information on permissions, see the Permissions section in the introduction.
<activity>
element that precedes
the alias in the manifest.
<activity>