Подтвердить что ты не робот

OnDestroy(), пока "ожидание" для onActivityResult()

У меня есть приложение с двумя действиями: "A" и "B" .

"A" использует startActivityForResult() для появления "B" , то есть ожидает "B" . Теперь предположим, что "B" находится на переднем плане. Может ли система Android уничтожить активность "А" без разрушения "В"? (Если да, то, когда закончен "B" , например, после ввода пользователем, активность "A" должна быть воссоздана и снова перенесена на передний план системой Android, и мне нужно запомнить и восстановить "A" до ее более раннего статуса пользовательского интерфейса. )

Обратите внимание, что я не говорю об уничтожении процесса (это другой случай: если процесс убит, все действия убиты, а onDestroy() не вызывается или не может быть вызван). Вопрос только в том, возможно ли onDestroy(), ожидая результата субактивности.

4b9b3361

Ответ 1

Если действие A будет убито к моменту окончания B, вам гарантируется, что

  • A будет воссоздан.
  • A предоставит результат.

Другими словами, A будет воссоздан при следующем посещении/потребности пользователя, и в этот момент будут отправлены ожидающие результаты (от B до A).

Также обратите внимание, что поэтому результаты должны возвращаться через один обратный вызов Activity с целым кодом запроса вместо произвольного объекта обратного вызова.