Какое activity запускать первым при разработке приложения с авторизацией?

Всем добрый день.

Разрабатываю приложение с авторизацией. И по-моему, мой метод похож на костыль и неправильный подход, поэтому хотелось бы услышать совет бывалых.

На текущий момент, алгоритм работы программы следующая: главное активити - MainActivity. При запуске приложения запускается MainActivity и проверяет, есть ли в SharedPref токен, если токен есть, гуд, продолжаем работать в MainActivity, если токена нет, то запускаем LoginActivity, для авторизации пользователя. Если пользователь авторизовался успешно, то заново запускаем MainActivity. Так как главная активность запускается по несколько раз, то конечно несколько раз срабатывают методы жизненного цикла, что очень неудобно.

Вопрос: а как правильно это организовать? Какое активити сделать главным? Или есть какие-то механизмы, который может до запуска активити проверять наличие токена? В гугле не получается правильно задать вопрос. Заранее спасибо.
  • Вопрос задан
  • 524 просмотра
Решения вопроса 1
@kazsat Автор вопроса
В общем сам нашел решение:

Создаем активити с темой Theme.NoDisplay и делаем его лаунчером. В этом активити прописываем код:
Intent intent;

        if (!isExistToken()) {
            intent = new Intent(this, LoginActivity.class);
        } else {
            intent = new Intent(this, MainActivity.class);
        }

        startActivity(intent);
        finish();
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы