Продолжаем нашу тему изучения taskAffinity.
Запускаем приложение АР0003
Запоминаем что наша задача 40 и жмем Start Activity G и вводим любой текст в поле
Видим что Активность G была запущена в задаче 40 в которой сейчас две активности и стек имеет вид A-G.
Нажмем инфо чтобы в этом убедиться
Все так и есть. Теперь жмем кнопку HOME и запускаем приложение АР0004
Запоминаем номер задачи 41 и жмем кнопку Start G AP0003 и вводим текст в поле Активности G
Теперь у нас две задачи 40 и 41. Стек каждой из них имеет содержит две Активности и имеет вид A-G. Только у задачи 40 все Активности принадлежат приложению АР0003, а у задачи 41 Активность А принадлежит приложению АР0004, а Активность G приложению АР0003.
Нажмем Info чтобы убедиться в этом
Все так и есть.
Теперь жмем кнопку HOME и переходим (запускаем) приложение АР0003
И что мы видим. Нашу Активность G запущенную из приложения АР0004. Активность G перешла из стека задачи 41 в стек задачи 40. То есть стек задачи 40 сейчас содержит три Активности и имеет вид A-G-G. А стек задачи 41 содержит теперь одну Активность А.
Посмотрим логи
Жмем Info чтобы еще раз убедиться
Все так и есть
Теперь жмем кнопку ОБРАТНО
Вот наша Активность G которую мы запускали из приложения АР0003. Жмем еще раз ОБРАТНО
И видим нашу Активность А в задаче 40. Теперь обе задачи 40 и 41 содержат по одной Активности А приложений АР0003 и АР0004.
В этом эксперименте мы увидели еще одну особенность поведения Активностей с параметрами taskAffinity и allowTaskReparenting.
Комментариев нет:
Отправить комментарий