Я разрабатываю приложение, в котором пользователь должен войти в систему перед его использованием. Я настроил заголовок и поместил туда кнопку выхода, чтобы пользователи могли выходить из системы, когда захотят, и входить в систему с другой учетной записью. Затем приложение должно снова отобразить активность входа.
Это работает хорошо, но у меня проблема с кнопкой возврата. Когда пользователь выходит из системы, отображается активность входа, но если он нажимает назад, приложение возвращается на предыдущую страницу, позволяя пользователю снова использовать это действие, даже без входа в систему.
У меня onCreate ()
каждого действия настроено следующим образом:
public void onCreate(Bundle savedInstanceState) {
// Activity code
checkLogin();
}
И checkLogin ()
:
if (GlobalContext.getCurrentUser() == null) {
Intent i = new Intent(this, LoginActivity.class);
startActivityForResult(i, GlobalContext.REQUEST_LOGIN);
}
Однако это не работает должным образом, мой приложение иногда вылетает, когда я нажимаю назад, иногда оно возвращается к предыдущему действию, как я сказал, а иногда действительно работает.
Как сделать так, чтобы checkLogin ()
вызывалась каждый раз при (повторном) запуске действия?
Или есть другой, лучший способ делать то, что я хочу?
РЕДАКТИРОВАТЬ:
Основываясь на ответе @ Gabriel и следующей диаграмме из ссылок на SDK , я переместил checkLogin ()
в onResume ()
вместо метода onCreate
, решившего мою проблему.