Я сделал простой пример с 3 видами деятельности:
ActivityA
ActivityB
ActivityC
На каждой из них есть только одна кнопка.
Кнопка включения ActivityA
открывает ActivityB
val intent = Intent(this, ActivityB::class.java)
startActivity(intent)
Кнопка включения ActivityB
открывает ActivityC
val intent = Intent(this, ActivityC::class.java)
startActivity(intent)
Кнопка включения ActivityC
должна вернуться вActivityA
но уничтожение ActivityB в процессе
val intent = Intent(this, ActivityA::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT)
startActivity(intent)
Он делает то, что я хочу, и весь поток выглядит так при регистрации:
ActivityA onCreate()
ActivityA button clicked
ActivityB onCreate()
ActivityB button clicked
ActivityC onCreate()
ActivityC button clicked
ActivityB onDestroy()
ActivityA onDestroy()
ActivityA onCreate()
ActivityC onDestroy()
Проблема этого решения заключается в том, что ActivityA
воссоздается (уничтожается и создается). Есть ли способ просто возобновить его вместо этого?
Отказ от ответственности: Это, конечно, просто упрощенный случай.Из-за нескольких причин в моем приложении я бы предпочел избегать использования onActivityResult()
и finish()
при подходах клика.Мне нужно сохранить правильное поведение кнопки возврата.