Intent の Flag まとめ
フラグ | 用途 |
---|---|
FLAG_ACTIVITY_SINGLE_TOP | 新しいActivityを起動する際に、そのActivityがタスクのトップに既に存在している場合、新しいインスタンスを作成する代わりに既存のインスタンスを再利用する。 |
FLAG_ACTIVITY_CLEAR_TOP | 新しいActivityを起動する際に、同じタスク内で既存の同じActivityのインスタンスが存在する場合、その既存のActivityとその上にあるすべてのActivityをクリアしてから新しいActivityを起動する。 |
FLAG_ACTIVITY_NEW_TASK | 新しいタスク(新しいバックスタック)を開始し、その中で新しいActivityを起動する。 このフラグを使用することで、別のタスクとして新しいActivityを起動することができる。 |
FLAG_ACTIVITY_CLEAR_TASK | 既存のタスク内の全てのActivityをクリアして、新しいActivityを起動する。 |
FLAG_ACTIVITY_NO_HISTORY | 起動したActivityが、履歴に残らないようにする。つまり、そのActivityを終了すると、その履歴から削除される。 |
FLAG_ACTIVITY_REORDER_TO_FRONT | 既にタスク内に存在するActivityであれば、そのActivityをタスクの最前面に移動する。新しいインスタンスを作成することはない。 |
FLAG_ACTIVITY_BROUGHT_TO_FRONT | 既にタスク内に存在するActivityであれば、そのActivityをタスクの最前面に移動しますが、そのActivityの新しいインスタンスを作成する。 |
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS | Recent Appsに表示されないように、そのActivityをRecent Appsから除外する。 |
FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET | タスクをリセットする際に、そのタスク内のActivityをクリアする。FLAG_ACTIVITY_NEW_TASKと組み合わせて使用できる。 |
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY | Activityが履歴から起動されたことを示すフラグ。 |
FLAG_ACTIVITY_FORWARD_RESULT | 呼び出し元のActivityに結果を返す際に、中間のActivityをスキップして直接結果を送るためのフラグ。 |
FLAG_ACTIVITY_PREVIOUS_IS_TOP | 前回のActivityがタスクのトップにあるとき、そのActivityを再利用することを示すフラグ。 |
FLAG_ACTIVITY_NO_USER_ACTION | ユーザーアクション(ユーザーの操作)によって起動されたことを示すフラグ。通常、システムが自動的に起動した場合に使用される。 |
FLAG_ACTIVITY_REORDER_TASKS | タスク内のActivityを再配置する。一般的には、新しいActivityのスタックを開始するときに使用される。 |
FLAG_ACTIVITY_TASK_ON_HOME | タスクをホーム画面のように扱うことを示す。タスクがホーム画面に表示されるようになる。 |
FLAG_RECEIVER_REGISTERED_ONLY | 明示的なReceiver(BroadcastReceiver)のみをターゲットにするフラグ。Manifestに登録されたReceiverのみがBroadcastを受信する。 |
FLAG_ACTIVITY_MATCH_EXTERNAL | 外部プロセスからのIntentをマッチングするためのフラグ。外部プロセスからのIntentを受け取るために使用される。 |
FLAG_ACTIVITY_REQUIRE_NON_BROWSER | ブラウザを使用しないActivityを要求するフラグ。ブラウザで開かれるActivityを避け、代わりにアプリ内のActivityを開くように指定する。 |
FLAG_ACTIVITY_REQUIRE_DEFAULT | デフォルトのActivityを要求するフラグ。デフォルトのActivityが設定されている場合、それを開く。 |
FLAG_ACTIVITY_NO_ANIMATION | Activity遷移時のアニメーションを無効にするフラグ。Activityの遷移時にアニメーションを適用したくない場合に使用する。 |
これらのフラグを使用することで、Intentの動作やActivity遷移時の挙動をさまざまに制御することができます。
おわりに
公式読みつつ、解説が難しかったのでチャットGPTです。
Intentのflagにこんな種類があるんですね。
頑張るぞい!