Сохраняются ли Intent Extras в стеке вызовов - PullRequest
0 голосов
/ 06 июня 2018

Если Activity A вызывает действие B с .setExtra(someKey, someValue), а действие B вызывает действие C, из которого пользователь возвращается к действию B с обратнымКнопка, может ли действие B по-прежнему получать доступ к Extra s из действия A?

  1. A
  2. A -> BExtra)
  3. A -> B -> C нажата кнопка возврата
  4. A -> BExtra?)

Сохраняется или отбрасывается Bundle в этом сценарии?

Я не могу найти это в Когда дополнения к намерениям становятся нулевыми между действиями? и Дополнения к Android Intent

Ответы [ 2 ]

0 голосов
/ 08 июня 2018

В ActivityB при звонке getIntent() у вас всегда будет доступ к «статистам», которые были отправлены в Intent, начавшемся ActivityB.Android сохраняет Intent (включая «дополнительные»), так что даже если Android убивает процесс (потому что пользователь поместил его в фоновом режиме), когда пользователь возвращается в приложение, Android создает новый процесс и воссоздает Activityс оригиналом Intent.

0 голосов
/ 07 июня 2018

Нет, они не всегда сохраняются .В большинстве случаев это работает, но иногда дополнительная была просто null, что создавало NullPointerException при доступе к ней.Таким образом, нет никакой гарантии, что система сохраняет Extra.Лучше где-нибудь сохранить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...