Похоже, что в каждом уроке, который у нас есть в Интернете, упоминается, что FLAG_ACTIVITY_NEW_TASK
Запускает новую задачу, если в данный момент запускаемое нами действие не выполняется в задаче. Но кажется, что использование FLAG_ACTIVITY_NEW_TASK
не Создает новую задачу Всегда, это только создание новой задачи, если нет задачи, доступной для действия, которое мы должны выполнить, например, когда мы запускаем действие из BroadCastReceiver
, используя контекст внутри onReceive()
.
Согласно всем учебным материалам в Интернете,
Предположим, у нас есть следующие действия в нашем BackStack-
A->B->C
Теперь, если мы хотим запустить новое задание D, то оно должно начаться в новом задании, но этого, похоже, не происходит, и задание D запускается в том же задании, и у нас есть окончательный backstack
A->B->C->D
AnyOne Кто может уточнить?
Я знаю, что настройка taskAffinity заставит создать новую задачу, но это приносит еще одну проблему:
Попробуй себя:
Предположим, мы запустили две операции:
A-B
Затем мы снова запускаем еще одно действие с android: taskAffinity **, так что теперь у нас есть **
A-B | C
A-B (on the same task)
C (on other task)
Теперь снова Мы начинаем A-B from C
, так что теперь наш BackStack будет выглядеть так:
A-B|C-A-B
A-B(on the same task)
C-A-B(on other task)
1033 *
Теперь проблема в том, что если мы снова попытаемся запустить C из B (из задачи C-A-B), ничего не произойдет, и C не запустится (не знаю почему?)