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">&lt;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>" &gt;
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    . . .
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project&lt;/activity-alias&gt;</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">&lt;application&gt;</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">&lt;intent-filter&gt;</a></code>
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project<br/><code><a href="{@docRoot}guide/topics/manifest/meta-data-element.html">&lt;meta-data&gt;</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 &lt;activity-alias&gt;} 
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectattributes are a subset of <code><a href="{@docRoot}guide/topics/manifest/activity-element.html">&lt;activity&gt;</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 &mdash; "{@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">&lt;application&gt;</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">&lt;application&gt;</a></code> and {@code &lt;activity-alias&gt;} 
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 &mdash; "{@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&mdash; 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 &mdash; 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">&lt;activity&gt;</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">&lt;activity&gt;</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">&lt;activity&gt;</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">&lt;activity&gt;</a></code></dd>
1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
13576dfc02135abae5337b48fe99a1b8c0a7d95e33akmccormick</dl>
136