从后台获取特定的活动

时间:2019-04-29 09:27:40

标签: android android-activity kotlin back-stack application-lifecycle

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 个答案:

答案 0 :(得分:1)

使用android:taskAffinity是您的一种选择。

您可以将ActivityCActivityD配置为具有相同的相似性。使用Activity#finishAffinity() ActivityDActivityD完成ActivityC的关闭后,ActivityB将恢复其先前的意图。