После перезагрузки андроид приложение запускается с экрана входа

Я занимаюсь разработкой приложения, в котором пользователь может заполнить форму и синхронизировать ее с сервером, как только он войдет в зону действия сети.

В целях безопасности я очень доверяю пользователю с логином, паролем и идентификатором устройства. Мой первый экран - экран входа в систему, второй - список форм, а третий - фактическая форма.

Моя проблема - всякий раз, когда телефон перезагружается, по умолчанию появляется экран входа в систему, даже пользователь находится на второй или третьей странице, когда телефон перезагружается.

Я использую общие предпочтения для сохранения данных в автономном режиме. Эти данные остаются постоянными. Но проблема заключается в том, что если пользователь ушел в удаленное место (где сеть недоступна легко) и перезагрузил телефон по ошибке, ему придется снова войти в систему.

Я хочу убедиться, что, если пользователь однажды вошел в систему, даже после перезагрузки телефона он будет перенаправлен ко второму действию

2 ответа

Распространенный способ держать пользователя вошедшим в систему, в android - поддерживать пользователей условными. Таким образом, пользователь входит в систему один раз, приложение сохраняет имя пользователя, пароль, токен доступа и т. Д. Все, что необходимо для повторной регистрации пользователя.

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

Для получения дополнительной информации проверьте AccountManager

Обычно, когда устройство перезагружается, все приложения уничтожаются до завершения загрузки, поэтому, когда вы снова запускаете действие, нет никакого экземпляра вашей активности с диспетчером задач, поэтому он запускает его как запуск нового приложения. Если вы хотите, чтобы ваш пользователь переходил к последним активным действиям, вам нужно сохранить свою активность в общем доступе в onPause() и запустите ваше приложение с этим действием, когда устройство перезагрузится. Вы можете реализовать это, как описано в следующей ссылке:

Как заставить приложение Android вернуться к последнему открытому действию при перезапуске?

Надеюсь, что это поможет вам достичь того, что требуется.

Другие вопросы по тегам