Tôi muốn xóa hậu trường khi tôi bắt đầu Hoạt động mới.Làm cách nào để xóa hoàn toàn tác vụ và chỉ để lại hoạt động mới?
Trường hợp chính xác của sự cố của tôi như sau: Tôi có các hoạt động như thế này A> B> C> D> E "A" là hoạt động đăng ký và "B" là hoạt động đăng ký xác nhận. Tôi muốn rằng khi người dùng bắt đầu hoạt động "B" mà anh ta không thể quay lại hoạt động "A" nữa, cũng khi người dùng tiếp cận hoạt động "C", cả hoạt động "A" và "B" sẽ là vô dụng, tôi không cần người dùng quay lại với họ nữa.
Ngoài ra khi người dùng chuyển sang hoạt động "D" từ "C", anh ấy có thể quay lại "C" nhưng nếu anh chuyển sang hoạt động "E", anh ấy không thể quay lại bất kỳ "C" trước "hoặc" D "hoạt động.
Sau rất nhiều nghiên cứu, các tốt nhất mà tôi nhận được là sử dụng lá cờ: FLAG_ACTIVITY_NO_HISTORY, Nhưng nó có hai vấn đề đối với trường hợp của tôi:
- Tại hoạt động "A" nếu người dùng điều hướng đi từ ứng dụng của tôi (đối với ví dụ về màn hình chính), nó phá hủy hoạt động đó và do đó tất cả thông tin mà người dùng đã nhập bị mất!
- Hoạt động "C" Tôi muốn giữ nó trong lịch sử (backstack) nếu trong khi người dùng điều hướng đến hoạt động "D" nhưng khi người dùng chuyển sang hoạt động "E" tôi muốn xóa nó.
Tôi không thể tìm ra giải pháp cho vấn đề này cho đến bây giờ, tôi nghĩ sẽ dễ dàng hơn nếu có điều gì đó để xóa hậu trường của nhiệm vụ hiện tại!
Hỗ trợ SDK tối thiểu của tôi là 5.
Cảm ơn bạn trước.
có thể trùng lặp: http://stackoverflow.com/questions/5794506/android-clear-the-back-stack Cũng đáng xem tại: http://developer.android.com/guide/components/tasks-and-back-stack.html# Đang xóa – jrajav
Cũng tương tự như http://stackoverflow.com/questions/7121700/remove-all-activities-from-back-stack-while-calling-a-new-activity – speakingcode