Выход из Android и выход

1

Это мой сценарий: после посещения нескольких действий пользователь выходит из приложения и перенаправляется на страницу входа в систему. я хочу, чтобы пользователь нажал кнопку "Назад" на странице входа. я хочу, чтобы мое приложение вышло/закрыто, вместо этого назад к предыдущему действию

Любые идеи по этой проблеме? Спасибо.

Теги:
android-activity
logout

7 ответов

3

Просто напишите этот код в методе OnClick OnClickListener вашей кнопки выхода.

Intent intent = new Intent(getApplicationContext(),Login.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

Это работает для меня. Удачи.

1

... или вы можете проверить зарегистрированное состояние при запуске действия: если пользователь не зарегистрирован, возьмите его на экран входа в систему...

  • 0
    отличная идея, как ни странно, не думал об этом. несмотря на то, что асинхронные задачи могут продолжаться, даже если вы вышли из системы.
0

Запишите это в свой вид активности входа в систему.

    Intent startMain = new Intent(Intent.ACTION_MAIN);
    startMain.addCategory(Intent.CATEGORY_HOME);
    startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(startMain);
0

Я реализую это поведение следующим образом. Я создаю класс LogOut:

class LogOut {
    void addOnLogoutListener(LogoutListener listener);
    void removeOnLogoutListener(LogoutListener listener);
    void logout();
}

Это глобальный класс. Когда пользователь хочет выйти из системы, он должен вызывать методы logout() - этот метод уведомляет каждого слушателя. В вашей деятельности добавьте слушателя, который завершает работу. Я всегда добавляю такой слушатель в классе BaseActivity, чтобы удалить дублирование кода. Также в классе App вы можете определить слушателя, который запускает LoginActivity или очищает важные ресурсы при выходе из системы.

0

Я использовал метод onResume для действий для проверки, если пользователь подключен:

@Override
protected void onResume() {
    super.onResume();

    ParseUser currentUser = ParseUser.getCurrentUser();

    if (currentUser == null) {
        finish();
    }
}
0
0

переопределить onBackPressed, в котором вызывается android.os.Process.killProcess(android.os.Process.myPid())

Ещё вопросы

Сообщество Overcoder
Наверх
Меню