Chcę wyczyścić backstack, gdy zacznę nowy zamiar działania.Jak wyczyścić backstack zadania i pozostawić tylko nowe działanie?
Dokładny przypadek mojego problemu jest następujący: Mam takie działania A> B> C> D> E "A" jest działaniem rejestracyjnym, a "B" jest potwierdzającym działaniem rejestracyjnym. Chcę, aby kiedy użytkownik rozpoczął aktywność "B", że nie może już powrócić do aktywności "A", także gdy użytkownik osiągnie aktywność "C", zarówno działanie "A" i "B" byłoby bezużyteczne, nie potrzebuję użytkownik z powrotem do nich już.
Również gdy użytkownik przejdzie do czynności "D" z "C", może powrócić do "C", ale jeśli przejdzie dalej do aktywności "E", nie może wrócić do żadnego z poprzednich "C" "lub" D ".
Po wielu badaniach, najlepszy mam jest użycie flagi: FLAG_ACTIVITY_NO_HISTORY, ale ma dwa problemy w moim przypadku:
- Przy aktywności „A”, jeżeli użytkownik poruszać się z dala od mojej aplikacji (na przykład na ekranie głównym), to niszczy tę aktywność, a zatem wszystkie informacje, które użytkownik wprowadził, są tracone!
- Aktywność "C" Chcę zachować ją w historii (backstack), jeśli użytkownik przechodzi do czynności "D", ale kiedy użytkownik przejdzie do działania "E", chcę go usunąć.
Nie mogę znaleźć rozwiązania dla tego problemu do tej pory, myślę, że byłoby łatwiej, gdyby było coś, aby usunąć backstack bieżącego zadania!
Moja minimalna pomoc techniczna SDK to 5.
Z góry dziękuję.
Możliwe duplikaty: http://stackoverflow.com/questions/5794506/android-clear-the-back-stack Warto również sprawdzić: http://developer.android.com/guide/components/tasks-and-back-stack.html# Czyszczenie – jrajav
Również podobne do http://stackoverflow.com/questions/7121700/remove-all-activities-od-back-back-while-calling-a-new-activity – speakingcode