Начать новое действие и очистить все действия, кроме начального - PullRequest
2 голосов
/ 30 марта 2020

Мне нужно запустить действие с именем ActivityA и очистить все остальные действия, которые были запущены в той же задаче. Это можно сделать довольно легко, используя комбинацию Intent.FLAG_ACTIVITY_CLEAR_TASK or Intent.FLAG_ACTIVITY_NEW_TASK флагов. Проблема в том, что я не хочу воссоздавать ActivityA, если он уже был запущен как root задачи (хотя я хочу удалить все остальные действия). Учтите это:

Если у меня есть A -> B -> C -> D, тогда я просто хочу закрыть B, C и D и затем вернуться к A.

Если у меня есть B -> C -> A -> D, то я хочу удалить все действия и воссоздать действие A.

Есть ли способ сделать это?

РЕДАКТИРОВАТЬ: Есть еще один важный аспект, который я забыл упомянуть: ActivityA это может использоваться в нескольких различных приложениях, поэтому я не могу ничего сделать с B, C, D или любой другой деятельностью.

1 Ответ

1 голос
/ 30 марта 2020
<activity
android:name=".B"
android:noHistory="true" />

Добавить android: noHistory = "true" к вашим действиям B, C, D. Теперь, когда вы нажмете кнопку "Назад", вы вернетесь к заданию A

...