Я разрабатываю и приложение, где пользователь должен войти в систему, прежде чем использовать его. Я настроил заголовок и поместил туда кнопку выхода, чтобы пользователи могли выйти из системы в любое время и войти в систему с другой учетной записью. Затем приложение должно снова отобразить активность входа в систему.
Это хорошо работает, но моя проблема с кнопкой возврата. Когда пользователь выходит из системы, активность входа отображается, но если он нажимает назад, приложение возвращается на предыдущую страницу, позволяя пользователю снова использовать эту активность, даже без входа в систему.
У меня есть 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()
вызываться каждый раз, когда действие (пере) запускается?
Или есть другой, лучший способ сделать то, что я хочу?
EDIT:
Основываясь на ответе @ Gabriel и следующей диаграмме из SDK, ссылающейся на , я переместил checkLogin()
в метод onResume()
вместо onCreate
, решая мою проблему.