fc2ブログ

戌印-INUJIRUSHI- (Androidあれこれ)

Androidのプログラミングをメインにしてます。記事に貼られたソースコードはダブルクリックすることで行番号をはずしてコピーすることができます。

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
06

タスク管理 - インテントフラグ:Intent#setFlags

Intent#setFlags はstartActivity()によりアクティビティを起動する際に、アクティビティのタスクへの関連付けの変更に使用します。
関連付けを変更することで、スタックにつまれたアクティビティを削除するなどできます。

Reference: Intent
ソフトウェア技術ドキュメントを勝手に翻訳 - 1.3 タスクとバックスタック - タスクの管理

■ ソースコードで定義 -----------------------------------------
Intent intent = new Intent(this, NextActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);


■ インテントフラグ種類 ---------------------------------------
Intent#FLAG_ACTIVITY_NEW_TASK
  新しいタスクでアクティビティを開始します。

Intent#FLAG_ACTIVITY_SINGLE_TOP
  現在表示中のアクティビティ(スタック最上位)が自身と同じアクティビティを開始した場合、起動しない。
  動作は以下の通り(A、B、C、Dはアクティビティ)
  ・A→B→C→D→D にはならない。A→B→C→Dのまま。
  ・A→B→C→D→B にはなる。

Intent#FLAG_ACTIVITY_CLEAR_TOP
  開始されたアクティビティがすでに現在のタスクで実行中の場合、実行中のアクティビティを再開する。
  再開されたアクティビティより上に詰まれた(新しい)アクティビティはすべてが破棄される。
  動作は以下の通り(A、B、C、Dはアクティビティ)
  ・A→B→C→D の時にDがBを呼ぶ
  ・A→B (CとDは破棄される)

  ※破棄されるアクティビティは onDestory() が実行されます。
   呼び出し元の onPause()、onStop() は実行されません
スポンサーサイト




Comments

Leave a Comment


Body
プロフィール

とむ・やむくん

Author:とむ・やむくん
管理人について

Windows 7 / 64bit
Eclipse 4.2 Juno (日本語パッチ済)

スポンサーサイト
最新トラックバック
検索フォーム
ブロとも申請フォーム
QRコード
QR
Twitter
2013/01/04 19:00 カウント開始