Возможно, заголовок может вызвать некоторые проблемы, но я не могу найти лучший способ назвать свою проблему.
У меня есть 3 действия, определенные с отдельной taskAffinity в файле манифеста (например, A, B, C). Сначала я начинаю работу A, которая запускает задачу A. Затем я нажимаю кнопку «Домой», и отображается главный экран. Затем я начинаю действие B, которое запускает задачу B. На экране активности B появляется кнопка, при нажатии которой начинается действие C. В этот момент стек выглядит следующим образом (используя команду dumpsys). my.package.Home - это мое самоопределяемое приложение для дома.Странное поведение при запуске задачи рекурсивно
Последние задачи:
* Последние # 0: TaskRecord {421c0998 # 111 A = my.package.CU = 0 зг = 2}
* Последние # 1: TaskRecord {42133508 # 110 A = мой. package.BU = 0 sz = 2}
* Недавнее # 2: TaskRecord {41cf77c0 # 1 A = my.package.Home U = 0 sz = 4}
* Недавнее # 3: TaskRecord {428124d8 # 103 A = мой .package.AU = 0 SZ = 2}
на активности C также есть кнопка, чтобы начать задание Б, а после того, как B запускается из C, стек задачи переупорядочивается, т.е lling из-под выхода dumpsys.
Последние задачи:
* Последние # 0: TaskRecord {42133508 # 110 A = my.package.BU = 0 зг = 2}
* Последние # 1: TaskRecord {421c0998 # 111 A = мой. package.CU = 0 sz = 2}
* Недавнее # 2: TaskRecord {41cf77c0 # 1 A = my.package.Home U = 0 sz = 4}
* Недавнее # 3: TaskRecord {428124d8 # 103 A = мой .package.AU = 0 зг = 2}
Тогда проблема, из выше статуса, если нажать кнопку Назад в два раза, а на главном экране отображается как ожидается, ACTi vity A.
У меня есть приличный опыт работы на Android, но не знаю, что является фоном этого странного поведения. Любой может помочь мне выяснить, является ли это спроектированным поведением или ошибкой Android. И как обойти его, чтобы получить мое ожидаемое поведение?
Обновлено: Это похоже на проблему с Android 4.x. На устройстве 6.0 нет странного поведения с одним и тем же приложением.
На самом деле я пытался много решений, включая ваше предложение, но не повезло. Кажется, это ошибка Android 4.x. Я пробовал одно и то же приложение на Android версии 6.0 и без проблем. –