Вопрос

Такова структура моего приложения:

Действие А - это ListViewActivity с помощью кнопки для запуска действия B.

В действии B после заполнения формы есть кнопка для запуска действия C.

Действие C сохранит настройку и создаст новую запись для отображения в действии.Кнопка сохранить в действии C запускает действие A.

Если пользователь выполнит эту процедуру более одного раза, когда он нажмет кнопку "Назад" из действия A, вернитесь в действие B (без прохождения через C, потому что, когда я запускал его, я установил FLAG_ACTIVITY_NO_HISTORY) и во второй раз, когда он нажимает back, снова возвращается к A, и это повторяется количество раз, равное количеству созданных записей.

Закрытие приложения с помощью кнопки "Назад" стало долгим процессом.

Я бы хотел, чтобы onBackPressed из действия "А" всегда закрывайте приложение.

Английский - не мой язык, надеюсь, я выразился ясно.

Это было полезно?

Решение

Всегда начинайте свое занятие так, как показано ниже

    Intent intent = new Intent(current_activity_context, A.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    finish();

Другие советы

Метод finish() сделает это.Что-то вроде этого

Intent intent = new Intent(getApplicationContext(),
                Activity B.class);
        Activity A.this.startActivity(intent);

        finish();

Вы должны переопределить метод onBackPressed

@Override
public void OnBackPressed(){
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.addCategory(Intent.CATEGORY_HOME);
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);
    super.onBackPressed();//Optional
 }

Надеюсь, это поможет.

попробуй это

@Override
public void onBackPressed() {
    // Do Here what ever you want do on back press;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top