Shubham Hackz Ответов: 0

Intent.flag_ACTIVITY_NEW_TASK делает то, что мы думаем, что он должен делать?


Похоже, что каждый учебник, который мы получили там в Интернете, упоминает об этом FLAG_ACTIVITY_NEW_TASK Запускает новую задачу, если действие, которое мы запускаем, в данный момент не выполняется в этой задаче.Но похоже, что с помощью FLAG_ACTIVITY_NEW_TASK не всегда создает новую задачу, а только создает новую задачу, если нет задачи, доступной для действия, которое нам нужно выполнить, например, когда мы начинаем действие с Приемник BroadcastReceiver использование контекста внутри onReceive().

Согласно всем учебникам в интернете,

Предположим, что у нас есть следующие действия в нашем BackStack-

A->B->C

Теперь, если мы хотим начать новое действие D, то оно должно начаться в новой задаче, но этого, похоже, не происходит, и действие D запускается в той же задаче, и у нас есть окончательный backstack

А-и gt;Б-&ГТ;С-&ГТ;Д
Кто-Нибудь Может Уточнить?

Что я уже пробовал:

Я знаю, что установка Аффинити приведет к новой задаче, но это приносит еще одну проблему:

Попробуйте Сами:

Предположим, мы запускаем два вида деятельности:

А-Б
Затем мы снова запускаем еще одно действие с android:taskAffinity**,так что теперь у нас есть**

A-B | C
A-B (on the same task)
C (on other task)

Теперь мы снова начинаем A-B С C,так что теперь наш BackStack будет выглядеть так:
A-B|C-A-B
A-B(on the same task)
C-A-B(on other task)



Теперь проблема в том, что если мы снова попытаемся запустить C из B (из задачи C-A-B), ничего не произойдет, и C не получит запуска (я не знаю, почему?)

0 Ответов