Используйте FLAG_ACTIVITY_NEW_TASK, чтобы вывести существующую задачу на передний план

В документе Android от FLAG_ACTIVITY_NEW_TASK сказано:

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

Я делаю демонстрацию, чтобы реализовать это. Есть два приложения: A и B. A содержит активность A1, B содержит активность B1, B2.

Я следую шагу :Home Screen(Application A icon) --> A1 (FLAG_ACTIVITY_NEW_TASK to start B1)--> B1 -->B2 --> Home Screen(Application B icon)-->, насколько я понимаю, щелкните значок приложения B в панели запуска, чтобы запустить действие B1, которое будет использовать FLAG_ACTIVITY_NEW_TASK, верно? Таким образом, задача должна быть запущена раньше, но, к сожалению, дело в том, что запущена новая активность B1, а стек задач B выглядит следующим образом: (Внизу) B1 B2 B1.

Как я могу вывести существующую задачу на передний план, когда я нажимаю значок приложения B в панели запуска


person dreamtale    schedule 23.01.2013    source источник


Ответы (1)


A и B — это два разных приложения, верно? Это означает, что оба будут выполняться как отдельный процесс и вести себя как отдельная задача.

поэтому, когда вы установите FLAG_ACTIVITY_NEW_TASK на A, он создаст отдельную задачу для A и сделает ее корневой активностью или выведет на передний план уже существующий экземпляр A.

Когда B запускается из пусковой установки, в соответствии с обычным поведением пусковой установки Android она запускается как отдельная задача, а B будет иметь отдельный стек.

person DcodeChef    schedule 23.01.2013
comment
A1 (FLAG_ACTIVITY_NEW_TASK)--> B1 означает, что при запуске B1 из A1 я использую FLAG_ACTIVITY_NEW_TASK. - person dreamtale; 24.01.2013