Это тег активности я имею в своем манифесте:активность LaunchMode
<activity
android:name=".Activity_B"
android:label="@string/app_name"
android:launchMode="singleTop"/>
Что я хочу сделать это:
Activity_A ---> Activity_B ---> Activity_C --- > Activity_B
Когда я перехожу из Activity_B в Activity_C, я не хочу закончить Activity_B.
Но когда я нажимаю кнопку в Activity_C, я хочу запустить Activity_B, который должен быть заново создан (данные изменены из-за какого-либо действия в Activity_C), и предыдущий экземпляр Activity_B, который находится в стопке, должен быть завершен.
android:launchMode="singleTask"
, который работал почти по мере необходимости, но Activity_B не воссоздается.
android:launchMode="singleTop"
воссоздает Activity_B, но не удаляет его предыдущий экземпляр из backstack
android:launchMode="singleInstance"
это работает так же, как singleTask
Как с помощью 'startActivityForResult()' запускать C, устанавливать результат и обрабатывать его при возврате из C в B? Я предлагаю этот путь, потому что большую часть времени, меняя режим запуска, приводит к ужасным побочным эффектам ... – WarrenFaith
Да. Это первая вещь, о которой я думал. Но хочу знать, могу ли я использовать LaunchMode. Если это единственное решение, дайте мне знать, чтобы я мог удалить этот пост. –
Попробуйте Clear_TOP..try, что однажды .. – Pragnani