- 構文:
<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>
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2024-08-22 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2024-08-22 UTC。"],[],[]]