AndroidでActivityのスタックを削除する方法
Androidで複数Activityからなるアプリの場合、
「A→B→C→A」
のような順番でActivityを順番に呼び出す事があると思います。
この時に、
「A→B→C→A」の「C→A」に移動する時、
前に呼ばれているA,BのActivityのスタックを削除したいようなアプリもあると思います。
なんでかと言うと
「A→B→C→A」と呼ばれたアプリで戻るボタンで戻ると
- C
- B
- A
のように順番に戻ります、これが1週だけならまだいいですが
「A→B→C→A→B→C→A」のような場合
- C
- B
- A
- C
- B
- 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のスタックが破棄されるので、
戻るボタンを押下した時に、アプリケーションが終了するようになります。
関連する記事:
- 暗黙的インテントの呼び出しでActivityNotFoundExceptionを防ぐ方法
- AndroidManifest.xmlに記述した
のデータ取得方法 - Androidでインストール済みのアプリ一覧の取得方法
- AndroidでNFCのIDmを読み取るサンプル
- Androidでのカメラ連動するアプリでのカメラの呼び出し方とデータ取得方法
コメント 0