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