для перестановки активностей в стеке без их открытия и закрытия, вы можете сделать следующее (при запуске Activity
):
Intent intent = new Intent(this, TargetActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(intent);
НЕ вызывать finish()
!
Это будет выглядеть в стеке и посмотреть, существует ли уже экземпляр TargetActivity
.Если это произойдет, он будет просто перемещен на вершину стека (так, чтобы пользователь мог видеть это).Если в стеке нет такого экземпляра, будет создан новый.Таким образом, вам не нужно знать, существует ли экземпляр или нет.