LoginSignup
3
2

【Android】Intent Flag 対応表

Last updated at Posted at 2024-01-08

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にこんな種類があるんですね。
頑張るぞい!

参考

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2