AndroidでActivityのスタックを削除する方法


Androidで複数Activityからなるアプリの場合、

「A→B→C→A」

のような順番でActivityを順番に呼び出す事があると思います。

この時に、

「A→B→C→A」の「C→A」に移動する時、

前に呼ばれているA,BのActivityのスタックを削除したいようなアプリもあると思います。

なんでかと言うと

「A→B→C→A」と呼ばれたアプリで戻るボタンで戻ると

  1. C
  2. B
  3. A
のように順番に戻ります、これが1週だけならまだいいですが
「A→B→C→A→B→C→A」のような場合
  1. C
  2. B
  3. A
  4. C
  5. B
  6. A
と、戻るボタンで戻る場合かなり面倒な感じになります。
なので「A→B→C→A→B→C→A」の時の最後の「C→A」の時に、
今までのActivityのスタックを全て破棄して新しく「A」が起動してくれた方がありがたい
とおもいませんか?
なので、このようにしたい場合は、以下のようにActivityの呼び出しを変更すると実装できます。
public void onTop(View view) {
	Intent intent = new Intent(getApplication(), BeardMaker.class);
	intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
	startActivity(intent);
}
これで、今までのActivityのスタックが破棄されるので、
戻るボタンを押下した時に、アプリケーションが終了するようになります。

関連する記事:

Facebookでコメント

コメント

  1. コメント 0

  1. 2013年 1月6日
*

return top