2015-07-21 3 views
0

У меня есть приложение с основным видом деятельности (A) с меню и отдельными действиями (B, C, D) для задач, выбранных из меню. У меня есть код инициализации, который в настоящее время находится в onCreate(). Но если пользователь покидает приложение, нажав кнопку «домой», а затем снова запускается, нажав значок приложения, onCreate() не запускается. Я не могу поместить код инициализации в onRestart(), поскольку это выполняется, когда пользователь возвращается в меню после запуска задачи, например, B. Как я могу получить код для запуска при каждом запуске, но только при запуске?Android: получите код инициализации для запуска при каждом запуске приложения.

+0

Если 'onCreate()' не вызывается снова, это потому, что экземпляр активности не был уничтожен. Поэтому все, что вам нужно для инициализации, должно быть инициализировано. –

+0

Да, но все изменится с момента его первоначальной инициализации. Мне нужно вернуться к начальному состоянию основного действия, когда пользователь удаляет значок приложения. – Kognos

+0

Почему? Android целенаправленно разработан, чтобы не работать таким образом. Фактически, если A - ваша деятельность по запуску, а B - какое-то другое действие, и пользователь нажимает домой, глядя на B, значок запуска возвращает их к B, а не A. Если A был уничтожен, он даже не будет воссоздаваться до тех пор, пока пользователь не вернется. –

ответ

1

Прежде всего, необходимо понять, как работает андроид жизненный цикл: http://developer.android.com/training/basics/activity-lifecycle/index.html

enter image description here

В принципе, вам нужно запустить свой код на onResume и onStart в зависимости от того, что вы хотите достичь


EDIT:

Поскольку значок запускает намерение VIEW, вы можете проверить намерение, когда приложение будет возобновлено или перезапущено.

+0

У меня есть диаграмма жизненного цикла, спасибо, и я имел в виду это. onResume и onStart будут работать, когда пользователь вернется к A после окончания B. Это не нужно мне. – Kognos

+1

Извините, но пока я понимаю, что вы спрашиваете сейчас, это поможет узнать о мотивации. Возможно, это не ваша настоящая проблема, а та, которая возникает из решения, о котором вы изначально думали. – Logain

Смежные вопросы