Вот мои два сценария.
1 -
Пользователь впервые открывает приложение с домашнего экрана Android
Пользователю предоставляется экран «первый раз» (на фоне активности в первый раз, давайте назовем его A)
Пользователь нажимает кнопку "Назад"
пользователь возвращается на главный экран Android
2 -
Пользователь открывает приложение во второй раз
Пользователю представлен главный экран со списком приложения (подкрепленный действием списка, назовем его B)
Пользователь нажимает кнопку "Назад"
Пользователь возвращается на главный экран Android
Я уже знаю о многочисленных способах определения, когда приложение открывается впервые или нет.
Проблема заключается в том, что кнопка возврата возвращается на начальный экран, а не в маршрутную операцию, которая решает, какой экран переслать.
В настоящее время у моего приложения есть действие, чтобы решить, куда маршрутизировать (давайте назовем его R), проблема в том, что мой стек выглядит как R -> A или R -> B
Я хочу, чтобы A или B заменяли R в стеке при их открытии, и если пользователь наносит ответный удар, то они переходят на домашний экран Android, а не обратно в R.
Наличие коллаборатора, задающего представление для A и B, также не совсем реально, так как B расширяет конкретную реализацию android для списка Activity, чтобы получить большую часть его функциональных возможностей.
Есть идеи?