<activity-alias>

構文:
<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>
説明:
targetActivity 属性によって指定したアクティビティのエイリアス。ターゲットは、エイリアスと同じアプリ内に存在し、マニフェスト内でエイリアスよりも前に宣言する必要があります。

エイリアスは、ターゲット アクティビティを独立したエンティティとして提示し、独自のインテント フィルタ セットを持つことができます。どのインテントがエイリアス経由でターゲットをアクティブにできるのか、そして、どのようにシステムがエイリアスを処理するのかを決定するのは、ターゲット アクティビティのインテント フィルタではなく、エイリアスのインテント フィルタです。

たとえば、エイリアスのインテント フィルタが "android.intent.action.MAIN" フラグと "android.intent.category.LAUNCHER" フラグを指定していた場合、ターゲット アクティビティのフィルタがこのフラグを設定していなくても、アプリ ランチャーで表されます。

targetActivity を除き、<activity-alias> 属性は <activity> 属性のサブセットです。サブセット内に存在している属性の場合、ターゲットに対して設定されている値は、エイリアスには引き継がれません。他方、サブセット内に存在しない属性の場合は、ターゲット アクティビティに対して設定されている値がエイリアスにも適用されます。

属性:
android:enabled
システムがこのエイリアス経由でターゲット アクティビティをインスタンス化できるかどうかを指定します。できる場合は "true"、できない場合は "false" です。デフォルト値は "true" です。

<application> 要素には独自の enabled 属性があり、アクティビティ エイリアスを含め、すべてのアプリ コンポーネントに適用されます。そのため、システムがエイリアス経由でターゲット アクティビティをインスタンス化できるようにするには、<application> 属性と <activity-alias> 属性の両方を "true" にする必要があります。いずれか一方でも "false" の場合、エイリアスは機能しません。

android:exported
他のアプリのコンポーネントがこのエイリアス経由でターゲット アクティビティを起動できるかどうかを指定します。できる場合は "true"、できない場合は "false" です。"false" にした場合、エイリアス経由でターゲット アクティビティを起動できるのは、エイリアスと同じアプリのコンポーネントか、同じユーザー ID を持つアプリだけです。

デフォルト値は、エイリアスにインテント フィルタが含まれているかどうかによって異なります。フィルタが存在しない場合、エイリアス経由でアクティビティを呼び出すには、エイリアスの名前を正確に指定する必要があります。これは、エイリアスがアプリの内部でのみ使用されることを意味します(他では名前がわからないため)。そのため、デフォルト値は "false" です。一方、少なくとも 1 つのフィルタが存在している場合、エイリアスは外部から使用できるため、デフォルト値は "true" です。

android:icon
ターゲット アクティビティをエイリアス経由でユーザーに提示する際のアイコン。詳細については、<activity> 要素の icon 属性をご覧ください。
android:label
エイリアス経由でユーザーに提示する際の、ユーザーが読むことができるエイリアスのラベル。詳細については、<activity> 要素の label 属性をご覧ください。

android:name
エイリアスの一意の名前。この名前は、完全修飾クラス名と同様です。ただし、ターゲット アクティビティの名前とは異なり、エイリアス名は任意です。実際のクラスを参照するわけではありません。

android:permission
クライアントがターゲット アクティビティを起動したり、エイリアスを使用してターゲット アクティビティに何かをさせたりする際に必要となる権限の名前。startActivity()startActivityForResult() の呼び出し元に指定の権限が付与されていない場合、ターゲット アクティビティはアクティブになりません。

この属性は、ターゲット アクティビティ自体に設定されている権限に取って代わります。この属性が設定されていない場合、エイリアス経由でターゲットをアクティブにする際、権限は必要ありません。

権限についての詳細は、アプリ マニフェスト概要の権限のセクションをご覧ください。

android:targetActivity
エイリアス経由でアクティブにできるアクティビティの名前。この名前は、マニフェスト内でエイリアスよりも前にある <activity> 要素の name 属性と一致する必要があります。

導入時の API レベル:
API レベル 1
関連項目:
<activity>