У меня есть 3 действия в моем приложении:
Activity1 -> Activity2 -> Activity3
Внутри Activity3, если пользователь нажимает Back, я хотел бы вернуться к Activity2.В событии on3 для Activity3 я добавил оператор finish()
.Возможно, в этом даже нет необходимости, но я хотел убедиться, что это действие очищено.Это работает нормально.
Однако в то время как в Activity3, если пользователь нажимает Home или запускает новое приложение (через панель уведомлений или каким-либо другим способом), я хочу, чтобы Activity3 и Activity2 завершались.Если пользователь возвращается к этому приложению, он должен продолжить с Activity1.
Я выяснил, как сделать то или другое, но я не могу понять, как обрабатывать оба случая, если это вообще возможно.Могу ли я перехватить кнопку «Назад» в Activity3 и отправить сообщение обратно в Activity2, сказав, что оно не finish()
?Кажется, что Действия следуют одному и тому же потоку жизненного цикла (Пауза, Остановка) независимо от того, что вы делаете, чтобы отправить их в фоновый режим.
Просто чтобы ответить на вопрос, почему я хочу это поведение, представьте, что Activity1
- экран входа в систему, Activity2
- экран выбора, а Activity3
- экран контента.Если я нажму «Назад» со страницы содержимого, я хочу сделать новый выбор.Если я выхожу любым другим способом (Домой, панель уведомлений), я хочу, чтобы пользователь был "logged out"
.
Заранее благодарен за вашу помощь.