Android, удалите X количество действий из стека действий

как я могу очистить только переменное количество действий из стека действий?

Допустим, я хочу очистить 3 действия, я не буду использовать android:noHistory в манифесте, я не буду использовать метод для очистки всего стека

и, возможно, я мог бы вызвать finish(); finish(); finish(); при определенных условиях, но это не кажется правильным.

есть ли известный способ сделать это?


person CQM    schedule 04.06.2012    source источник


Ответы (2)


Вы можете зарегистрировать BroadcastReceiver в классах, которые вы хотите закончить, а затем отправить трансляцию, когда вы хотите их закончить.

person Jason Robinson    schedule 04.06.2012

Грязно, но вы можете использовать getParent(). например:

this.getParent().getparent().finish(); 
this.getParent().finish(); 
this.finish();

И если вы хотите сделать это для х действий, вы можете использовать цикл и переменную для отслеживания х числа родителей.

person bhekman    schedule 04.06.2012
comment
Это может сработать, возиться с тем, как запускаются намерения в определенных сценариях, было лучшим вариантом. - person CQM; 27.06.2012