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