В андроид приложение, которое я деятельность A, B и C.Отличия от вверх и назад кнопки
В исходном потоке я пользователь, видя активность А, прикоснувшись к кнопке приводит к активности B. Касание кнопки там ведет к действию C.
Альтернативный способ открыть приложение - это двойной щелчок на обоях (приложение - это BTW). Это готовит намерение для A с дополнительными функциями, которые читаются во время создания активности. Перед отображением A он готовит и запускает B и C, используя startActivities.
При запуске альтернативного потока я могу видеть C успешно, и нажатие на клавишу приводит меня к B. Нажатие на кнопку снова приводит меня к A. Это ожидаемое поведение с точки зрения пользователей, и это то, что я хочу. Однако, если вместо нажатия UP, я использую кнопку «Назад», чтобы перейти в C -> B -> A, до того, как появится A, логика запускается, а B -> C снова открывается.
Согласно моему коду, я ожидаю увидеть то, что вижу, когда я отжимаю назад, что нежелательно, но понятно.
a) Почему кнопка вверх ведет себя по-другому со спины в этом случае?
b) Какой самый чистый способ узнать, достиг ли я A извне приложения или нажатие либо назад, либо вверх, так что я могу использовать немного другую логику?
BTW Все 3 вида деятельности имеют свои собственные фрагменты, а в проекте используется кинжал и маслобойник.
EDIT: Я также заметил, что если я нахожусь на C, и я дважды нажимаю, я снова в A (у которого нет кнопки «вверх»), но если я вернусь, я увижу A во второй раз, как будто мой стек имеет 2 копии A. Предполагаемое поведение вместо этого будет покидать приложение. Связано это с android:launchMode
?