intent.setFlagsメソッドの引数について

Activityを移動する際に、Intentのインスタンスを作成しますが、
このIntentインスタンスのsetFlagsメソッドでオプションを設定することで、
Activityのタスクやスタックの振る舞いを設定することができます。

以下、引数に渡せるオプションの一覧です。

定数内容
FLAG_ACTIVITY_NEW_TASK常に新しいタスクで起動する
※デフォルト
FLAG_ACTIVITY_SINGLE_TOP現在のActivityと同じアクティビティは起動しない
FLAG_ACTIVITY_CLEAR_TOPスタックをクリアしてから起動する
FLAG_ACTIVITY_NO_ANIMATIONトランジションアニメーションを行わずに起動する
FLAG_ACTIVITY_NO_HISTORYスタックに追加せずに起動する
FLAG_ACTIVITY_LAUNCHED_FROM_HISTORYスタック内のActivityを利用して起動する(使いまわす)
FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS履歴内の同一Acrivityを利用して起動する(使いまわす)
FLAG_ACTIVITY_PREVIOUS_IS_TOP呼び出し元のActivityをタスクのトップと見なして起動する
FLAG_ACTIVITY_REORDER_TO_FRONTスタック内の同一Activityを最前面に移動させる

何も指定しない場合は、Intent.FLAG_ACTIVITY_NEW_TASK(デフォルト)が採用されます。

タスクやスタックと聞くと、何やら難しい・・・と感じる方も少なくないかもしれませんが、
より快適でスムーズなアプリケーションを開発するためには必須の知識となります。
覚えて損はありません。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメント

  1. […] こちらを参考にして、 intent.setFlagsメソッドの引数について […]