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

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

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

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
АКМЭ сервис Санкт-Петербург
от 80 000 до 110 000 руб.
ЭЛКОМ+ Санкт-Петербург
До 110 000 руб.
Frogogo Москва
от 120 000 руб.
16 сент. 2019, в 17:48
15000 руб./за проект
16 сент. 2019, в 17:46
800 руб./в час
16 сент. 2019, в 17:26
600 руб./в час