Действие вызывает другие действия в последовательности Android

StackOverflow https://stackoverflow.com//questions/24050366

Вопрос

Как я могу сохранить и запомнить действие, запущенное определенным действием?Скажем, у меня есть действие 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 Только что закончено.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top