onBackPressed() переопределить

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

Деятельность А является ListViewActivity с кнопкой, чтобы начать деятельность B.

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

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

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

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

Я хотел бы onBackPressed от активности A всегда закрывайте приложение.

Английский не мой язык, надеюсь, я был понятен.

4 ответа

Решение

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

    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();

Вы должны переопределить метод 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;
}

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

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

        finish();
Другие вопросы по тегам