Im интересно, как долго getIntent() в Activity будет доступен (не возвращает null). Так что скажем, я запускаю Activity B из своей активности A и передаю некоторые дополнительные данные в Intent.Как долго существует намерение
В действии B Я прочитаю дополнительные данные из намерения в методах onCreate(). Пока все хорошо. Но как долго getIntent()
? Я имею в виду, если пользователь отображает Activity B, но переключается на другое приложение (например, с помощью кнопки многозадачности), и через несколько часов пользователь снова нажимает кнопку многозадачности (активность может быть уничтожена тем временем) и открывает Activity B снова. Таким образом, операция B onCreate()
будет вызвана для восстановления активности B. Получает ли getIntent() теперь исходное намерение с дополнительным значением или мне нужно сохранить дополнительную сумму Intent в действиях onSaveInstanceState()
и использовать Bundle в onCreate(Bundle state)
?
Итак, андроид каким-то образом сохранит намерение и восстановит его, если нужно, правильно? – sockeqwe
@sockeqwe: Да. В принципе, если пользователь перейдет к тому, что логически является конкретным экземпляром этой активности (например, через список недавних задач), Android вернет вам копию «Intent», первоначально используемую для создания вашей оригинальной копии этого экземпляр активности. – CommonsWare