ITに関するさまざまなトピックを紹介するサイトです
このコンテンツはお使いのブラウザには対応しておりません。
新しいバージョンのブラウザでアクセスしてください。

AndroidManifest.xmlの<activity>要素の属性一覧


AndroidManifest.xmlの<activity>要素に指定する属性について調査した結果を一覧にまとめました。

application要素の属性についてまとめたページを作成済みでしたが、activity要素の属性についても調べました。 ターゲットとしたSDKはAPIレベル23です。

属性名の先頭には"android:"が付きますが、表示スペースの都合上、省略しています。
  各属性の情報はインターネットで検索して集めました。
正確を期すようになるべく複数の情報源を調べるようにしましたが、内容が正確ではない可能性があることをご了承ください。
属性名 設定内容   API  
allowEmbedded アクティビティが、他のアクティビティの埋め込み子アクティビティとして起動できるかどうかを指定します。
true:起動できる、false:起動できない、デフォルト:false。
20
allowTaskReparenting アプリケーションで定義したアクティビティが次に前面に現れるタイミングで、アクティビティを開始したタスクから親和性のあるタスクへと移動可能かどうかを指定します。
true:可、false:不可、デフォルト:false。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
alwaysRetainTaskState アクティビティが属しているタスクの状態が、システムによって常に維持されるようにするかどうかを指定します。
true:維持する、false:特定の状況でシステムはタスクを初期状態にリセットする、デフォルト:false。
この属性の指定はタスクのルートアクティビティに対してのみ意味があり、他のアクティビティでは無視されます。
autoRemoveFromRecents このアクティビティによって起動したタスクの最後のアクティビティが終了した後も、最近利用したアプリケーションのリストに残すかどうかを指定します。
true:残さない、false:残す。
ドキュメントのアクティビティの場合のデフォルト値はtrue、通常のアクティビティの場合のデフォルト値はfalseです。
この属性設定は、アクティビティを起動するインテントのFLAG_ACTIVITY_RETAIN_IN_RECENTSフラグ設定を上書きます。
21
banner Android TV向けのホーム画面用のバナー画像を指定します。
画像を定義したdrawableリソース参照を指定する必要があります。
<application>要素にも同じ属性がありますが、アクティビティごとに個別に指定したい場合に、この属性を設定します。
21
clearTaskOnLaunch ホーム画面から再起動される場合は常に、ルートアクティビティ以外のすべてのアクティビティをタスクからクリアするかどうかを指定します。
true:クリアする、false:クリアしない、デフォルト:false。
この属性の指定は新たなタスクを開始するルートアクティビティに対してのみ意味があり、他のアクティビティでは無視されます。
configChanges ハンドリングしたい構成変更項目をリスト指定します。
デフォルトでは、実行時に構成変更が発生した場合、アクティビティは停止して再起動されます。
この属性で指定した構成変更項目については、アクティビティの再起動は行われず、onConfigurationChanged()メソッドが呼び出されます。
以下の項目が指定可能です。複数項目を指定する場合は、'|'記号で連結して指定します。
mcc
IMSI国コード
mnc
IMSI事業者識別コード
locale
ロケール
touchscreen
タッチスクリーン(通常発生しない)
keyboard
キーボードタイプ(外部キーボードの接続など)
keyboardHidden
キーボードの使用状態
navigation
ナビゲーションタイプ(通常発生しない)
screenLayout
画面レイアウト(異なるディスプレイが有効になるなど)
fontScale
フォント拡大係数
uiMode
ユーザインタフェースモード(デバイスをドックに置いたり、ナイトモードに変更するなど)。APIレベル8で導入。
orientation
デバイスの向き(APIレベル13以上の場合は"screenSize"も指定する)
screenSize
利用可能な画面サイズ(デバイス回転による変更も含む)。APIレベル13で導入。
smallestScreenSize
物理的な画面サイズ(外部ディスプレイへの切り替えなど)。APIレベル13で導入。
layoutDirection
レイアウト方向(LTRとRTLの切り替えなど)。APIレベル17で導入。
通常のアクティビティのライフサイクルに従えば、構成変更時にシステムが自動的に適切なリソースを使用してくれますが、この属性を指定した場合はアプリケーションの実装で対応しなければなりません。
対応が非常に困難になるケースでは、この属性を指定する方法は避けた方がよい場合があります。
一部の設定値
8
13
17
description アクティビティの説明文を指定します。
文字列のリソース参照を指定する必要があり、文字列リテラルは指定できません。
プログラムからは、ActivityInfoオブジェクトのdescriptionResフィールドの値としてリソースIDを取得することができます。
documentLaunchMode アクティビティの新しいインスタンスが起動する際、タスクをどのように扱うかを指定します。
この属性を設定することにより、最近利用したアプリケーションのリストに同一アプリケーションの複数のドキュメントを表示させることができます。
以下の項目が指定可能です。
intoExisting
既存のタスクがあれば再利用する。FLAG_ACTIVITY_MULTIPLE_TASKフラグを設定せずに、FLAG_ACTIVITY_NEW_DOCUMENTフラグを設定する場合と同じ。
always
常に新しいタスクを生成する。FLAG_ACTIVITY_MULTIPLE_TASKフラグとFLAG_ACTIVITY_NEW_DOCUMENTフラグの両方を設定する場合と同じ。
none
FLAG_ACTIVITY_NEW_TASKフラグが設定された場合のみ新たにタスクを生成する。
never
フラグの設定に関係なくタスクを生成しない。
デフォルト:none。
intoExistingまたはalwaysを指定する場合、このアクティビティのlaunchMode属性を"standard"に設定する必要があります。
21
enabled システムがアクティビティをインスタンス化できるかどうかを指定します。
true:可、false:不可、デフォルト:true。
<application>要素にもenabled属性があり、両方がtrueの時にインスタンス化が可能となります。
excludeFromRecents 最近利用したアプリケーションのリストへの表示対象として、このアクティビティから起動されたタスクを除外するかどうかを指定します。
true:除外する、false:除外しない、デフォルト:false。
この属性の指定は、アクティビティが新規タスクのルートアクティビティであった時のみ評価されます。
exported アクティビティが他のアプリケーションのコンポーネントから起動可能かどうかを指定します。
true:可、false:不可。
falseに設定した場合は、同一アプリケーション、または同一ユーザIDのアプリケーションからのみ起動可能となります。
この属性のデフォルト値は、アクティビティがインテントフィルタを定義しているかどうかで変わりますが、バージョンによってそのデフォルト値が変わるという情報があり、明示的に指定した方がよいようです。
なお、非公開を意図してfalseに設定する場合、インテントフィルタを定義してしまうと、そのアクティビティを呼び出す側が想定外の挙動をすることがあるため、インテントフィルタは定義せずに明示的インテントを利用した方が安全です。
finishOnCloseSystemDialogs Homeキー押下など、"close system windows"リクエストがあった時に、アクティビティを終了させるかどうかを指定します。
true:終了させる、false:終了させない、デフォルト:false。
5
finishOnTaskLaunch ユーザがタスクを起動するたびに、残っていたアクティビティのインスタンスを終了させるかどうかを指定します。
true:終了させる、false:終了させない、デフォルト:false。
hardwareAccelerated 設定対象のアクティビティにおいて、画面描画を高速化するハードウェアアクセラレーションを有効にすべきかどうかを指定します。
true:有効、false:無効。
ハードウェアアクセラレーションはAPIレベル11から使用することが可能になりました。
minSdkVersionかtargetSdkVersionを"14"以上に設定した場合のデフォルト値はtrue、それ以外の場合のデフォルト値はfalseです。
<application>要素にも同じ属性がありますが、アクティビティごとに個別に制御したい場合に、この属性を設定します。
11
icon アクティビティのアイコンを指定します。
画像を定義したdrawableリソース参照を指定する必要があります。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
immersive 他のアクティビティや通知によって中断されないimmersiveタイプとするかどうかを指定します。
true:immersiveタイプ、false:非immersiveタイプ、デフォルト:false。
11
label アクティビティのラベルを指定します。
文字列のリソース参照を指定することが推奨されていますが、文字列リテラルを指定することもできます。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
launchMode アクティビティの起動方法を指定します。
どのように振る舞うかは、インテントのアクティビティフラグと合わせて判定されます。
以下の4つのモードが指定可能です。
standard
対象とするタスクに常に新規インスタンスを作成する。
singleTop
該当アクティビティのインスタンスが対象のタスクの先頭にある場合はそれを利用し、それ以外は新規インスタンスを作成する。
singleTask
シングルインスタンスで、常にタスクのルートアクティビティとなる。同一タスク内に他のアクティビティ配置可。
singleInstance
singleTaskと同様だが、同一タスク内に他のアクティビティ配置不可。
デフォルト:standard。
lockTaskMode デバイスを単一目的で使用するための方式の一つであるロックタスクモードの振る舞いを指定します。
以下の4つのモードが指定可能です。
normal
startLockTaskメソッド呼び出しでロックタスクモードを開始し、stopLockTaskメソッド呼び出しでロックタスクモードを終了する。
never
ロックタスクモードにならない。システムアプリケーションのみ指定可。
always
常にロックタスクモードで起動する。システムアプリケーションのみ指定可。
if_whitelisted
パッケージに許可が与えられていれば自動的にロックタスクモードで起動し、そうでなければnormalと同じ。
デフォルト:normal。
23
logo アクティビティのロゴを指定します。
画像を定義したdrawableリソース参照を指定する必要があります。
ロゴはアクションバーのヘッダや、暗黙的インテントに対応するアクティビティを選択する時などに表示されます。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
また、ロゴを指定しなかった場合はアイコンが使用されます。
11
maxRecents 最近利用したアプリケーションのリストに表示するタスクの最大数を指定します。
1から50までの整数値を指定することができます。
デフォルト:16。
タスクの数が最大数に達すると、最も使われていない(LRUアルゴリズム)タスクから削除されます。
21
multiprocess アクティビティのインスタンスが、アクティビティを起動した別コンポーネントのプロセス内で実行できるかどうかを指定します。
true:可、false:不可、デフォルト:false。
デフォルトでは、アクティビティのインスタンスは、それが定義されたアプリケーションのプロセス内で起動され、そのアクティビティのすべてのインスタンスが同一プロセス内で実行されます。
name アクティビティのクラス名を指定します。
この属性は完全修飾クラス名で指定する必要がありますが、先頭をピリオドで始める省略表記で指定することができ、その場合は<manifest>要素で指定したパッケージ名が付加されます。
noHistory 他のコンポーネントの画面に遷移するなどしてアクティビティが非表示になった時、アクティビティスタックに履歴を残さずに終了するかどうかを指定します。
true:終了する、false:終了しない、デフォルト:false。
3
parentActivityName アプリケーション構成の観点で、論理上の親アクティビティになるアクティビティのクラス名を指定します。
アクションバーのUPボタンを押した時の遷移先のアクティビティとなります。
<activity>要素として定義されているアクティビティを指定する必要があります。
この属性はAPIレベル16から使用可能になりましたが、それ以前のAPIレベル(APIレベル4以上)では、サポートライブラリを使用した上で、"android.support.PARENT_ACTIVITY"名の値としてアクティビティのクラス名を指定した<meta-data>要素を、<activity>要素の子要素として定義することによって、同様の指定を実現することができます。
16
permission アクティビティを起動するために、呼び出し元が保持していなければならないアクセス権限名を指定します。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
persisitableMode 再起動後もアクティビティを存続させるかどうかを指定します。
persistRootOnly
タスクのルートアクティビティのみ再起動後も存続する。
persistNever
存続しない。
persistAcrossReboots
存続する。
デフォルト:persistRootOnly。
21
process アクティビティが実行されているべきプロセスの名前を指定します。
通常はアプリケーションのすべてのコンポーネントは同じプロセスで稼働しますが、この属性でデフォルトプロセス名を上書き指定して、異なるプロセスで実行させることができます。
<application>要素にもprocess属性があり、その設定値はアプリケーションのすべてのコンポーネントのデフォルトプロセス名となります。
relinquishTaskIdentity タスクIDを放棄するかどうかを指定します。
true:放棄する、false:放棄しない、デフォルト:false。
タスクのルートアクティビティでこの属性がtrueに設定されていると、タスクIDの決定はタスクスタックの次のアクティビティに渡され、この属性がfalseに設定されたアクティビティが現れるまで継続されます。
21
resumeWhilePausing 前のアクティビティが停止処理の実行中に、その停止処理の完了を待たずに、このアクティビティが再開処理を始めてもよいかどうかを指定します。
true:可、false:不可、デフォルト:false。
この属性をtrueに設定する場合は、リソースの競合に注意する必要があります。
21
screenOrientation デバイス上のアクティビティの表示の向きを指定します。
以下の項目が指定可能です。
unspecified
システムが向きを選択する。デバイスにより判断基準となるポリシーが異なる場合がある。
behind
アクティビティスタック内の直下のアクティビティと同じ向き
landscape
横向き
portrait
縦向き
reverseLandscape
通常の横向きを180°回転させた逆の横向き。APIレベル9で導入。
reversePortrait
通常の縦向きを180°回転させた逆の縦向き。APIレベル9で導入。
sensorLandscape
センサーによって通常または逆向きを判定する横向き。APIレベル9で導入。
sensorPortrait
センサーによって通常または逆向きを判定する縦向き。APIレベル9で導入。
userLandscape
ユーザが横向き固定も選択できるようにしたsensorLandscape設定。APIレベル18で導入。
userPortrait
ユーザが縦向き固定も選択できるようにしたsensorPortrait設定。APIレベル18で導入。
sensor
センサーによって向きを決定する(例えば、逆向きは無効になるなど、一部のデバイスでは4つの向きすべてが有効になるわけではない)
fullSensor
4つの向きすべてを有効として、センサーによって向きを決定する。APIレベル9で導入。
nosensor
センサーを参照せず、それ以外はunspecifiedと同じポリシーで向きを決定する。
user
ユーザが現在選択している向き
fullUser
ユーザがセンサーを無効にして向きを選択することもできるようにしたfullSensor設定。APIレベル18で導入。
locked
現在の向きに固定する。APIレベル18で導入。
デフォルト:unspecified。
一部の設定値
9
18
showForAllUsers 異なるユーザのアクティビティが表示されている状態でも、このアクティビティを表示するかどうかを指定します。
true:表示する、false:表示しない。
23
showOnLockScreen アクティビティがロック画面上に表示されるようにするかどうかを指定します。
true:表示する、false:表示しない。
APIレベル23では非推奨となりました。(代わりにshowForAllUsersを使用する)
17
singleUser アクティビティがすべてのユーザに対してシングルインスタンスで実行されるかどうかを指定します。
true:すべてのユーザに対してシングルインスタンス、false:ユーザごとにインスタンス生成、デフォルト:false。
この属性の設定は、ビルトインアプリケーションのみ有効です。
17
stateNotNeeded 状態を保存する処理を実行しなくても、アクティビティの停止・再起動を可能とするかどうかを指定します。
true:可、false:不可、デフォルト:false。
この属性をtrueに設定すると、onSaveInstanceState()メソッドが 呼び出されなくなる可能性があり、再起動時のonCreate()メソッドのパラメータのBundleにはnullが渡されます。
taskAffinity アクティビティに適用するタスクのアフィニティ名を指定します。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
デフォルトでは、アプリケーションのすべてのアクティビティは同じアフィニティ名を持っています。
アフィニティ名を異なる設定にしてグループ化することや、同一タスク内に異なるアプリケーションのアクティビティを配置することもできます。
theme アクティビティのテーマを定義するstyleリソースの参照を指定します。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
uiOptions アクティビティのUIの特別オプションを指定します。
none
特別オプションなし
splitActionBarWhenNarrow
スクリーンの横幅が狭い場合、上部のアクションバーだけではなく下部にもアクションバーを追加し、両方のアクションバーにアクションアイテムを分けて表示する。
この属性が未指定の場合は、<application>要素のこの属性の設定値が適用されます。
14
windowSoftInputMode ソフトウェアキーボードの状態とアクティビティの振る舞いについて指定します。
以下の項目の内の一つ、または"state"で始まる設定値と"adjust"で始まる設定値を'|'記号で連結して指定することができます。
stateUnspecified
システムが自動的にソフトウェアキーボードの状態を選択する。
stateUnchanged
前回アクティビティ終了時のソフトウェアキーボードの状態を維持する。
stateHidden
ソフトウェアキーボード非表示
stateAlwaysHidden
入力フォーカスを得ていてもソフトウェアキーボード非表示
stateVisible
ソフトウェアキーボード表示
stateAlwaysVisible
他のアクティビティを離れて戻ってくる遷移であってもソフトウェアキーボードを表示する。
adjustUnspecified
リサイズモードかパンモードをシステムが自動的に選択する。
adjustResize
リサイズモード(ソフトウェアキーボードの表示領域を確保するために、アクティビティのメイン画面をリサイズする)
adjustPan
パンモード(フォーカスを得ているViewがソフトウェアキーボードで隠れない位置までスクロールする)
ソフトウェアキーボードの状態のデフォルトはstateUnspecified、アクティビティの振る舞いのデフォルトはadjustUnspecified。
3
変更履歴
2016.06 APIレベル20、21で追加された属性を追記しました。
2016.10 APIレベル23で追加された属性を追記しました。

当サイトでは、第三者配信による広告サービスを利用しています。 このような広告配信事業者は、ユーザーの興味に応じた商品やサービスの広告を表示するため、当サイトや他サイトへのアクセスに関する情報(氏名、住所、メール アドレス、電話番号は含まれません)を使用することがあります。 このプロセスの詳細やこのような情報が広告配信事業者に使用されないようにする方法については、こちらをクリックしてください。