2016-09-13 1 views
0

Возможно, заголовок может вызвать некоторые проблемы, но я не могу найти лучший способ назвать свою проблему.
У меня есть 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 нет странного поведения с одним и тем же приложением.

ответ

0

Попробуйте установить пользовательские флаги деятельности на файл манифеста, чтобы избежать этой проблемы

android:launchMode=["standard" | "singleTop" | "singleTask" | "singleInstance"]

Вы можете проверить здесь, что означает, что каждый из них

https://developer.android.com/guide/topics/manifest/activity-element.html

+0

На самом деле я пытался много решений, включая ваше предложение, но не повезло. Кажется, это ошибка Android 4.x. Я пробовал одно и то же приложение на Android версии 6.0 и без проблем. –

Смежные вопросы