Верно ли, что onStart() - лучшее место для определения того, "пользователь повторно открыл приложение"?
Допустим, пользователь использует мое приложение для Android, у меня есть DialogFragment YourTanks
(показывает различные танки, которыми вы владеете!)
public class YourTanks extends DialogFragment implements View.OnClickListener
Итак, опять же, пользователь буквально смотрит на эту "страницу", видит свои танки и так далее.
Они получают телефонный звонок или решают использовать другое приложение, возможно, их календарь, электронную почту, что угодно.
Обратите внимание, что, конечно, мое приложение не выходит, оно все еще работает в б / г
Они заканчивают с другим приложением. На домашнем экране или экране приложения Android они нажимают значок моего приложения. Теперь мое приложение появляется снова, и они снова могут видеть свои красочные танки и т. Д.
Итак - я хочу знать, что они открыли приложение, я хочу, чтобы YourTanks был настороже.
@Override
public void onStart ()
{
super.onStart();
Utils.Log("WE ARE IN onStart !!========");
Utils.Log("I think this means the user just 'opened' or 'reopened' the app.");
Utils.Log("Better ask on SO though.");
}
Действительно, это лучший способ сделать то, что я описываю, или вам нужно что-то делать на (возможно) уровне активности или какой-то другой концепции?
Удивительно, но я действительно не смог найти никакой информации по этому вопросу.
(Обратите внимание, что на iPhone, например, вы более или менее используете что-то вроде -(void)applicationDidBecomeActive:(UIApplication *) приложение в общем приложении singleton.)
Спасибо за любую важную информацию об этом!
1 ответ
Вместо этого вам нужен onResume, действие может быть просто приостановлено при повторном открытии приложения. Эта функция также вызывается после onCreate.
http://developer.android.com/reference/android/app/Activity.html Вот документация, как все это называется и работает.