Android: делает FLAG_ACTIVITY_NEW_TASK эффект в рамках одного процесса?

Предположим, что приложение уже имеет стек действий, а затем новое действие запускается из контекста приложения с FLAG_ACTIVITY_NEW_TASK. И это происходит в том же процессе, то есть внутри приложения, например:

AppContext -> A(FLAG_ACTIVITY_NEW_TASK) -> B -> C; AppContext -> D(FLAG_ACTIVITY_NEW_TASK) 

Согласно документации у нас есть 2 задачи:

 Task 1: A, B, C; Task 2: D 

Из документа следует, что теоретически возможно, чтобы пользователь мог переключиться либо на активность C, либо на активность D независимо, поскольку они принадлежат к разным задачам. На практике, однако, я не смог переключиться на активность C – он всегда переключился на D.

Мой вопрос: верно ли, что при запуске в том же процессе с FLAG_ACTIVITY_NEW_TASK задачи не являются независимыми, и пользователь может переключиться на самую верхнюю операцию в самой верхней задаче?

Если ответ «нет», то каким образом пользователь может переключиться на задачу 1?


ОБНОВИТЬ

Ответ: Нет
Задачи независимы, и пользователь может переключаться между своими действиями независимо, эффективно имея два действия вашего приложения в верхней части стека. Я только что нашел прецедент, через три года после того, как задал оригинальный вопрос.

Наше приложение регистрируется как обработчик схемы URL (например, market://xxx.yyy/zzz ). Теперь представим себе, что пользователь запустил приложение с помощью пусковой установки, посередине чего-то (действия A, B, C ) и остановился. Затем в браузере пользователь нажимает на URL-адрес, чтобы начать нашу другую деятельность (активность D ). Это приводит к тому, что одновременно выполняются две задачи: действия A, B, C (сверху сверху) и активность D Пользователь может переключаться между этими двумя действиями через историю задач.

Забавно, что активность C видна в истории задач с помощью собственного значка приложения, но активность D видна с помощью значка браузера. Несмотря на это, оба переключателя могут быть переключены.

Кроме того, обе задачи ABC и D выполняются в одном процессе. Это означает, что все одиночные объекты и статические данные распределяются между ними. В результате они могут повредить состояние друг друга, если не будут приняты меры предосторожности.

Solutions Collecting From Web of "Android: делает FLAG_ACTIVITY_NEW_TASK эффект в рамках одного процесса?"

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

http://blog.akquinet.de/2010/04/15/android-activites-and-tasks-series-intent-flags/

Я не думаю, что есть способ переключить Задачи (в сравнении с Приложениями), открытые пользователю. Вы можете переключиться на другую задачу в коде, запустив соответствующее действие.

Изменить – уведомления , вероятно, являются лучшим способом, чтобы пользователь переключил задачи, для которых нет пусковых установок.

Я создал справочный проект для решения этого конкретного прецедента:

https://github.com/theelfismike/android-parallel-paths