Получить конкретную активность от backstack - PullRequest
0 голосов
/ 29 апреля 2019
Activity A -> Activity B -> Activity C -> Activity D 

Давайте предположим, что у нас есть этот поток. С Activity D я хочу вернуться к Activity B, поэтому мой стек должен выглядеть после того, как я закрою Activity D следующим образом:

Activity A -> Activity B 

Я использовал startActivity(this, Activity B).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP), но он не восстанавливает активность из заднего стека, он создал ее снова;

Когда я изначально запускаю Activity B с Activity A, я отправил некоторые данные в связке, которые сейчас потеряны; Итак, нужно ли мне отправлять эти данные через Activity C -> Activity D, чтобы я мог получить их и отправить обратно на Activity B, когда я открою их из Activity D, или я могу каким-то образом восстановить Activity B?

1 Ответ

1 голос
/ 29 апреля 2019

Использование android: taskAffinity может быть вариантом для вас.

Вы можете настроить ActivityC и ActivityD с одинаковым сродством. Когда ActivityD закрывается с использованием Activity#finishAffinity() ActivityD и ActivityC завершено - ActivityB возобновляется с его предыдущим намерением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...