从backstack获取特定活动

问题描述 投票:0回答:1
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

android android-activity kotlin back-stack application-lifecycle
1个回答
1
投票

使用android:taskAffinity可能是你的选择。

您可以使用相同的亲和力配置ActivityCActivityD。当使用ActivityD Activity#finishAffinity()ActivityD关闭ActivityC时 - ActivityB恢复其先前的意图。

© www.soinside.com 2019 - 2024. All rights reserved.