Я пытаюсь создать единую систему входа в систему.андроид один раз система входа в систему
На loginActivity пользователь вводит номер телефона, к которому я отправляю секретный код через SMS
На confirmationActivity пользователь вводит секретный код.
Если секретный код успешен, я хочу finish
как confirmationActivity и loginActivity. Для того, чтобы сделать это с loginActivity я
Intent intent = new Intent(this, ConfirmationActivity.class);
startActivityForResult(intent, EXIT_CODE);
Затем снова loginActivity я называю
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == EXIT_CODE) {
finish();
}
}
}
Чтобы проверить работает ли моя система, после регистрации, я нажимаю на кнопку назад:
Ожидаемое поведение: Невозможно вернуться или закрыть приложение
Фактическое поведение: вернуться к loginActivity (обратите внимание, что он пропускает confirmationActivity)
Моя надежда состоит в том, что как только пользователь успешно регистрирует они никогда не должны снова получить доступ к либо confirmationActivity или loginActivity. И когда они закрывают мое приложение и перезапускают его, он пропускает эти две страницы и выводит пользователя непосредственно на домашнюю страницу.
Примечание: похоже, что метод onActivityResult
никогда не называется. Я размещаю несколько вызовов println, и они никогда не печатаются на LogCat.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: В прошлый раз, когда я задал вопрос и показал фрагмент кода, один респондент отвлекся и начал говорить об этом фрагменте, вместо того чтобы обратиться к этому вопросу. Отрывок здесь просто для того, чтобы показать, что я пробовал. Очевидно, это не решило проблему. Спасибо.
Спасибо.Я думал об этом, но он по-прежнему оставляет проблему с тем, чтобы пользователь не возвращался к LoginActivity в тот момент, когда они заканчивали регистрацию (нажав кнопку «Назад»). +1 –
Решения для этого: отключить откидную панель (очень плохое решение), переопределить функцию onbackpressed и соответственно выполнить действия или управлять стеком действий, например. добавление флага FLAG_ACTIVITY_NO_HISTORY к вашему намерению или объявление noHistory = true в вашем манифесте – Tobrun