新しいアクティビティインテントを開始するときにバックスタックをクリアします。タスクのバックスタックをクリアして新しいアクティビティだけを残すにはどうすればいいですか?
私の問題の正確なケースは次のとおりです。 私はこのような活動をしています。A> B> C> D> E 「A」は登録活動、「B」は確認登録活動です。私は、ユーザーがアクティビティ "B"をアクティビティ "A"に戻せなくなったとき、アクティビティ "C"に到達したときもアクティビティ "A"と "B"の両方が役に立たないと思っています。ユーザーはもうそれらに戻ってきます。
「C」からアクティビティ「D」に移動した場合、「C」に戻ることができますが、さらに「E」アクティビティに移動した場合、以前の「C」 "または" D "活動に参加する。
多くの研究の後、私が得た最高のフラグを使用することです:FLAG_ACTIVITY_NO_HISTORYを、しかし、それは私の場合のための2つの問題があります:アクティビティで
- 「」ユーザーが離れて自分のアプリケーションから移動すると(のためにホームスクリーンへの例)、それはその活動を破壊し、したがってユーザが入力したすべての情報は失われてしまいます!
- アクティビティ "C"ユーザが "D"アクティビティに移動しているのに、ユーザが "E"アクティビティに移動したときにそのアクティビティを削除したい場合は、履歴(バックスタック)に保持します。
私はこの問題の解決策を今まで見つけられませんでしたが、現在のタスクのバックスタックをクリアするものがあれば簡単だろうと思います!
マイ最小SDKのサポートは、事前に5
おかげです。
に可能な複製をナビゲートする前に、アクティビティCを終えます。 http://stackoverflow.com/questions/5794506/android-clear-the-back-stack見る価値がある:http://developer.android.com/guide/components/tasks-and-back-stack.html#クリアする – jrajav
また、http://stackoverflow.com/questions/7121700/remove-all-activities-from-back-stack-while-calling-a-new-activityに似ています – speakingcode