新しい Activity インテントを開始するときにバックスタックをクリアしたい。
私の問題の正確なケースは次のとおりです。次のようなアクティビティがあります A > B > C > D > E 「A」は登録アクティビティで、「B」は登録アクティビティの確認です。ユーザーがアクティビティ「A」に戻ることができないアクティビティ「B」を開始したとき、またユーザーがアクティビティ「C」に到達したときに、アクティビティ「A」と「B」の両方が役に立たないことを望んでいます。ユーザーはもう彼らに戻ります。
また、ユーザーが「C」からアクティビティ「D」に移動すると、「C」に戻ることができますが、さらに「E」アクティビティに移動すると、前の「C」または「D」のいずれにも戻ることができません。 」の活動。
多くの調査の後、私が得た最善の方法は flag: FLAG_ACTIVITY_NO_HISTORYを使用することですが、私の場合は2つの問題があります:
- アクティビティ「A」で、ユーザーがアプリケーションから (ホーム画面などに) 移動すると、そのアクティビティが破棄されるため、ユーザーが入力したすべての情報が失われます。
- アクティビティ「C」ユーザーが「D」アクティビティに移動しているときに履歴(バックスタック)に保持したいが、ユーザーが「E」アクティビティに移動したときにそれを削除したい。
今までこの問題の解決策を見つけることができませんでした。現在のタスクのバックスタックをクリアする何かがあれば簡単だと思います!
私の最小 SDK サポートは 5 です。
前もって感謝します。