Клавиша возврата бесконечно возвращается к той же активности - PullRequest
2 голосов
/ 19 марта 2012

Я программирую приложение для Android и у меня возникла любопытная проблема.

Мое приложение имеет функцию LoginActivity, которая определяет фильтр для событий запуска. Как только вход в систему завершен, он запускает действие «Домой», используя startActivity(new Intent(LoginActivity.this, HomeActivity.class)), и останавливает LoginActivity, используя finish().

HomeActivity - это простая панель инструментов с уведомлениями, переопределяющая onCreate и onStart. Также он обновляет некоторые значки содержимого с помощью AsyncThread.

Проблема заключается в следующем: если я нажимаю кнопку «Домой» для выхода из приложения, а затем использую «недавнее» меню (удерживая нажатой кнопку «Домой на Android»), чтобы снова открыть его, клавиша возврата «сломана» в моем приложении : Нажатие на нее не завершит HomeActivity, но вместо этого вернется к той же операции:

Значение ... HomeActivity <- HomeActivity <- HomeActivity <- HomeActivity ... </p>

Я не использовал никаких хаков, чтобы переопределить поведение backstack или back back. Кто-нибудь знает, в чем причина?

TIA, Патрик

1 Ответ

2 голосов
/ 19 марта 2012

Возможно, ваша активность при входе в систему обнаруживает, что вход в систему завершен, и немедленно отправляет вас обратно к вашей домашней активности. Это должно быть видно из журнала (ActivityManager, START intent ...)

В этом случае неплохо бы сыграть с бэкстеком

...