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

Предположим, что я нахожусь в действии A. Я хочу начать работу B, но я хочу, чтобы пользователь был занят активностью C, если они снова вернутся к активности B.

Поэтому, хотя пользователь видит A -> B, я хочу, чтобы он был A -> C -> B.

Я знаю, что могу использовать TaskStackBuilder и синтетически создавать стек ABC. Однако иногда А – это не просто одно действие; может быть какая-то предыдущая навигация, которую пользователь сделал, которую я не хочу потерять, и это будет слишком TaskStackBuilder чтобы синтетически воссоздать с TaskStackBuilder .

Есть ли способ использовать TaskStackBuilder поддерживающий текущий задний стек? Или есть ли другой способ синтетического добавления активности в задний стек перед началом другого?

Solutions Collecting From Web of "Как синтетически добавить активность в задний стек перед началом другого?"

Что вы можете сделать, это переопределить onBackPressed() в Activity B , откуда вы начнете действие C и завершите действие B С точки зрения пользователя он увидит:

A -> B -> (пресс-релиз) -> C

В задней части:

A -> AB -> AC

 @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(this, ActivityC.class); startActivity(intent); finish(); }