Действие вызывает другие действия в последовательности Android
-
21-12-2019 - |
Вопрос
Как я могу сохранить и запомнить действие, запущенное определенным действием?Скажем, у меня есть действие 1, которое запускает действие 2 с помощью startActivityForResult().Затем я вижу следующую последовательность вызовов:
onPause called from Activity1!
onSaveInstanceState called from Activity1
onActivityResult called from Activity1
Позже, когда я нажимаю кнопку «Назад», чтобы вернуться к Activity1 из Activity2, я вижу вызов onRestart:
onRestart called from Activity1
onResume called from Activity1
Итак, теперь мой вопрос: как определить, что переход происходит от Activity2 -> Activity1, а не (скажем) от Activity3 -> Activity1?
Решение
Один из возможных способов — использовать startActivityFprResult
вместо.Когда вы завершаете любое другое действие (в данном случае Activity2 или Activity3), вы вызываете setResult(RESULT_OK, intent)
и предоставить Intent
.Это будет доставлено в Activity1 в onActivityResult
, и вы можете просто добавить немного больше в Intent
чтобы определить, какие Activity
Только что закончено.