2016-04-22 11 views
0

私のMainActivityから私は一連のチューザ活動を開始します。ユーザーがこれらのアクティビティを完了すると、それらをスタックから削除したいと思います。例: スタックはこのように見える場合: - >SomeActivityスタックからいくつかのアクティビティを終了します

MainActivity: - >ChooserActivityA - - >ChooserActivityB

MainActivity>ChooserActivityC

とユーザーSomeActivityを起動するChooserActivityC上のボタンを押した後、私はあることを積み重ねたいです。

これを達成する方法はありますか? ChooserActivityCからChooserActivityBに戻ることができるので、次の起動前の仕上げ作業はオプションではありません。

私はintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);を使用してChooseActivityAを起動して、私は一度だけSomeActivityintent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);を使用して起動されたタスク全体の仕上げを考えていたが、それはあまりにもMainActivityを終えるように見える場合は、新しいタスクを作成しようとしています。理由は、FLAG_ACTIVITY_NEW_TASKが最初に新しいタスクを作成していないようです。

私はこれを簡単な方法で実現するために何か助けてください。

答えて

0

1つのホストアクティビティをナビゲーションコントローラおよび多くのフラグメントとして使用することを検討してください。

ActivityManagerでバックスタックを調査する方法がありますが、廃止予定です。

とにかく、それはあまりにも "ハッキー"かもしれません。シンプルなので、コードを読む開発者はあなたを殺したくない=)

+0

はい、これはオプションであり、実際にはすでにビューポケベル+フラグメントでアプリの他の部分でこれを行っています。 しかし、私は活動でこれを行う方法があるかどうかを知りたい。 –

関連する問題