Вызов finish() не завершает действие
Я хочу закончить свою деятельность, когда она приостанавливается по определенным причинам. До недавнего времени мой код работал отлично, но недавно finish()
метод почему-то перестал выполнять свою работу. Кроме того, когда finish()
вызывается метод, я получаю следующее LogCat
сообщение:
12-31 18:01:23.445: W/ActivityManager(481): Duplicate finish request for ActivityRecord{42465370 u11 "myapplicationpackage"}
может кто-нибудь помочь мне с этим?
OnPause()
метод
@Override
protected void onPause() {
super.onPause();
finish();
}
2 ответов
вы можете проверить, если ваша деятельность уже заканчивая вызовом if (isFinishing()){}
, а вызов finish
только если это не так. кроме того, вы, возможно, захотите, чтобы указать android:noHistory="true"
о вашей деятельности в файле манифеста, который фактически завершит вашу деятельность, как только пользователь перейдет от него.
у вас, скорее всего, есть дубликаты выполняемой операции. Я предлагаю сделать все действия под одним родителем и использовать
finishall()