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

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

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

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

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

2 ответа

Решение

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

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

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

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

Другие вопросы по тегам