19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpage.title=<activity-alias> 22a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.title=The AndroidManifest.xml File 32a1b706ec11e53689a2f86cc8e558e74591b462aScott Mainparent.link=manifest-intro.html 49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project@jd:body 59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dl class="xml"> 79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>syntax:</dt> 89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><pre class="stx"><activity-alias android:<a href="#enabled">enabled</a>=["true" | "false"] 99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project android:<a href="#exported">exported</a>=["true" | "false"] 109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project android:<a href="#icon">icon</a>="<i>drawable resource</i>" 119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project android:<a href="#label">label</a>="<i>string resource</i>" 129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project android:<a href="#nm">name</a>="<i>string</i>" 139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project android:<a href="#prmsn">permission</a>="<i>string</i>" 149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project android:<a href="#trgt">targetActivity</a>="<i>string</i>" > 159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project . . . 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</activity-alias></pre></dd> 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>contained in:</dt> 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><code><a href="{@docRoot}guide/topics/manifest/application-element.html"><application></a></code></dd> 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>can contain:</dt> 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><code><a href="{@docRoot}guide/topics/manifest/intent-filter-element.html"><intent-filter></a></code> 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<br/><code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html"><meta-data></a></code></dd> 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>description:</dt> 263155825c256b150cfa635ad27ac7a2bab76371b0Dirk Dougherty<dd itemprop="description">An alias for an activity, named by the {@code targetActivity} 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectattribute. The target must be in the same application as the 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectalias and it must be declared before the alias in the manifest. 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p> 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectThe alias presents the target activity as a independent entity. 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectIt can have its own set of intent filters, and they, rather than the 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectintent filters on the target activity itself, determine which intents 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectcan activate the target through the alias and how the system 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecttreats the alias. For example, the intent filters on the alias may 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectspecify the "<code>{@link android.content.Intent#ACTION_MAIN 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid.intent.action.MAIN}</code>" 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectand "<code>{@link android.content.Intent#CATEGORY_LAUNCHER 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectandroid.intent.category.LAUNCHER}</code>" flags, causing it to be 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectrepresented in the application launcher, even though none of the 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectfilters on the target activity itself set these flags. 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p> 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p> 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectWith the exception of {@code targetActivity}, {@code <activity-alias>} 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectattributes are a subset of <code><a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a></code> attributes. 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectFor attributes in the subset, none of the values set for the target carry over 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectto the alias. However, for attributes not in the subset, the values set for 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe target activity also apply to the alias. 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd> 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>attributes:</dt> 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><dl class="attr"> 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="enabled"></a>{@code android:enabled}</dt> 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>Whether or not the target activity can be instantiated by the system through 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthis alias — "{@code true}" if it can be, and "{@code false}" if not. 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectThe default value is "{@code true}". 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p> 609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectThe <code><a href="{@docRoot}guide/topics/manifest/application-element.html"><application></a></code> element has its own 619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/application-element.html#enabled">enabled</a></code> attribute that applies to all 629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectapplication components, including activity aliases. The 639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/application-element.html"><application></a></code> and {@code <activity-alias>} 649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectattributes must both be "{@code true}" for the system to be able to instantiate 659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe target activity through the alias. If either is "{@code false}", the alias 669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectdoes not work. 679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd> 689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="exported"></a>{@code android:exported}</dt> 709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>Whether or not components of other applications can launch the target activity 719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthrough this alias — "{@code true}" if they can, and "{@code false}" if not. 729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectIf "{@code false}", the target activity can be launched through the alias only by 739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectcomponents of the same application as the alias or applications with the same user ID. 749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p> 769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectThe default value depends on whether the alias contains intent filters. The 779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectabsence of any filters means that the activity can be invoked through the alias 789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectonly by specifying the exact name of the alias. This implies that the alias 799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectis intended only for application-internal use (since others would not know its name) 809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project— so the default value is "{@code false}". 819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectOn the other hand, the presence of at least one filter implies that the alias 829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectis intended for external use — so the default value is "{@code true}". 839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd> 849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="icon"></a>{@code android:icon}</dt> 869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>An icon for the target activity when presented to users through the alias. 879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectSee the <code><a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a></code> element's 889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/activity-element.html#icon">icon</a></code> attribute for more information. 899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="label"></a>{@code android:label}</dt> 919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>A user-readable label for the alias when presented to users through the alias. 9276dfc02135abae5337b48fe99a1b8c0a7d95e33akmccormickSee the <code><a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a></code> element's 939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/activity-element.html#label">label</a></code> attribute for more information. 949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd> 959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="nm">{@code android:name}</dt> 979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>A unique name for the alias. The name should resemble a fully 989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectqualified class name. But, unlike the name of the target activity, 999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe alias name is arbitrary; it does not refer to an actual class. 1009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd> 1019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="prmsn"></a>{@code android:permission}</dt> 1039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>The name of a permission that clients must have to launch the target activity 1049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projector get it to do something via the alias. If a caller of 1059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code>{@link android.content.Context#startActivity startActivity()}</code> or 1069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code>{@link android.app.Activity#startActivityForResult startActivityForResult()}</code> 1079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projecthas not been granted the specified permission, the target activity will not be 1089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectactivated. 1099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p>This attribute supplants any permission set for the target activity itself. If 1119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectit is not set, a permission is not needed to activate the target through the alias. 1129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p> 1139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<p> 1159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectFor more information on permissions, see the 1169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<a href="{@docRoot}guide/topics/manifest/manifest-intro.html#perms">Permissions</a> 1179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectsection in the introduction. 1189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd> 1199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt><a name="trgt"></a>{@code android:targetActivity}</dt> 1219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd>The name of the activity that can be activated through the alias. 1229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source ProjectThis name must match the {@code name} attribute of an 1239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<code><a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a></code> element that precedes 1249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectthe alias in the manifest. 1259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</p></dd> 1269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project</dl></dd> 1279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1289c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty<!-- ##api level indication## --> 1299c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty<dt>introduced in:</dt> 1309c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty<dd>API Level 1</dd> 1319c3209db78bf171f5055baae376f7bdfdfba4a9fDirk Dougherty 1329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dt>see also:</dt> 1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<dd><code><a href="{@docRoot}guide/topics/manifest/activity-element.html"><activity></a></code></dd> 1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 13576dfc02135abae5337b48fe99a1b8c0a7d95e33akmccormick</dl> 136