У меня есть три вида деятельности A, B и C.
А является основным видом деятельности моего приложения.
A и C также могут быть запущены из меню параметров, B запускается из A.
Я хотел бы следующее поведение:
- приложение запускается с A: задний стек {A}
- от A, я перехожу к B: задний стек {A, B}
- из меню параметров я запускаю C: задний стек {C}
1 и 2 тривиальны, но мне не удается заставить 3 работать.
Я пробовал довольно много комбинаций FLAG_ACTIVITY, но безуспешно
и у меня создается впечатление, что это невозможно.
Я думаю о создании действия DummyRoot, которое просто используется для запуска другого действия (фактическое имя действия для запуска передается в Intent.getExtras ()). Я могу дать этому действию DummyRoot FLAG_ACTIVITY_CLEAR_TOP.
При этом я бы получил
- приложение запускается с DummyRoot (A): задний стек равен {DummyRoot, A}
- от A, я перехожу к B: задний стек {DummyRoot, A, B}
- из меню параметров я запускаю DummyRoot (C): задний стек {DummyRoot, C}
Предвидите ли вы проблемы с этим подходом?
Во-первых, нужно ли это или можно более элегантно очистить задний стек?