pub struct ActivityAlias {
    pub enabled: Option<VarOrBool>,
    pub exported: Option<VarOrBool>,
    pub icon: Option<MipmapOrDrawableResource>,
    pub label: Option<Resource<StringResource>>,
    pub name: Option<String>,
    pub permission: Option<String>,
    pub target_activity: Option<String>,
    pub intent_filter: Vec<IntentFilter>,
    pub meta_data: Vec<MetaData>,
}
Expand description

An alias for an activity, named by the targetActivity attribute.

The target must be in the same application as the alias and it must be declared before the alias in the manifest.

The alias presents the target activity as an 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 “android.intent.action.MAIN” and “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 targetActivity, <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.

XML Syntax

<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>

Contained in

Can contain

Introduced in

API Level 1

Fields§

§enabled: Option<VarOrBool>

Whether or not the target activity can be instantiated by the system through this alias — “true” if it can be, and “false” if not. The default value is “true”.

The <application> element has its own enabled attribute that applies to all application components, including activity aliases. The <application> and <activity-alias> attributes must both be “true” for the system to be able to instantiate the target activity through the alias. If either is “false”, the alias does not work.

§exported: Option<VarOrBool>

Whether the broadcast receiver can receive messages from non-system sources outside its application — “true” if it can, and “false” if not. If “false”, the target activity can be launched through the alias only by components of the same application as the alias or applications with the same user ID.

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 “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 “true”.

§icon: Option<MipmapOrDrawableResource>

An icon for the target activity when presented to users through the alias. See the <activity> element’s icon attribute for more information.

§label: Option<Resource<StringResource>>

A user-readable label for the alias when presented to users through the alias. See the <activity> element’s label attribute for more information.

§name: Option<String>

A unique name for the alias. The name should resemble a fully qualified class name. But, unlike the name of the target activity, the alias name is arbitrary; it does not refer to an actual class.

§permission: Option<String>

The name of a permission that clients must have to launch the target activity or get it to do something via the alias. If a caller of startActivity() or 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.

§target_activity: Option<String>

The name of the activity that can be activated through the alias. This name must match the name attribute of an <activity> element that precedes the alias in the manifest.

§intent_filter: Vec<IntentFilter>

List of <intent-filter> tags.

§meta_data: Vec<MetaData>

List of <meta-data> tags.

Trait Implementations§

source§

impl Clone for ActivityAlias

source§

fn clone(&self) -> ActivityAlias

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ActivityAlias

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for ActivityAlias

source§

fn default() -> ActivityAlias

Returns the “default value” for a type. Read more
source§

impl<'de> Deserialize<'de> for ActivityAlias

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
source§

impl PartialEq<ActivityAlias> for ActivityAlias

source§

fn eq(&self, other: &ActivityAlias) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Serialize for ActivityAlias

source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl YaDeserialize for ActivityAlias

source§

fn deserialize<R: Read>(reader: &mut Deserializer<R>) -> Result<Self, String>

source§

impl YaSerialize for ActivityAlias

source§

fn serialize<W: Write>(&self, writer: &mut Serializer<W>) -> Result<(), String>

source§

fn serialize_attributes( &self, source_attributes: Vec<OwnedAttribute>, source_namespace: Namespace ) -> Result<(Vec<OwnedAttribute>, Namespace), String>

source§

impl Eq for ActivityAlias

source§

impl StructuralEq for ActivityAlias

source§

impl StructuralPartialEq for ActivityAlias

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> DeserializeOwned for Twhere T: for<'de> Deserialize<'de>,