Джейми, ты сейчас занимаешься Android? Какая страшная мысль! В любом случае, finish()
- ваш друг, когда дело доходит до удаления действий из стека. Вы можете вызывать его несколько раз для извлечения нескольких действий из стека.
В качестве альтернативы, вы также можете стереть весь стек, передав флаг FLAG_ACTIVITY_CLEAR_TOP в своем намерении (но звучит так, как будто вы хотите сохранить H, так что это не может быть мудрым выбором).
Кстати, я еще не играл с FLAG_ACTIVITY_NEW_TASK, но это может сработать в вашем случае. Передайте его перед началом A
. Это может быть совершенно бесполезным в вашем случае, поэтому просто поэкспериментируйте с ним немного.
РЕДАКТИРОВАТЬ: немного поигрался, несколько раз вызывая финиш () фактически не работает, как ожидалось. Я заставил его работать, запустив H
с FLAG_ACTIVITY_CLEAR_TOP, а затем сразу же Y
(т.е. два startActivity
вызова в одной функции).