开始新活动后返回到原始活动



我有一个活动A,我称之为活动B。问题是,如果我离开B,然后再次返回B,一旦活动B完成,我将被重定向到Android主屏幕,而不是原始活动A。我需要找到返回A的方法。以下是完整的流程:

A->B->(从B导航到某个活动或主屏幕)->(返回B)->(B在调用finish()后完成)->(显示Android主屏幕)

预期结果:

A->B->(从B导航到某个活动或主屏幕)->(返回B)->(B在调用finish()后完成)->(应显示A)

我知道这是由于活动的堆叠方式造成的,因为我从B导航,Android主屏幕变成了堆叠的顶部,这就是为什么A没有显示的原因。然而,有没有一种方法可以让我操纵栈顶回到a。我尝试了Intent标志及其组合,但对我来说不起作用。如果你能帮忙,我可能错过了什么,或者有其他方法吗?

似乎finish()是为Activity A调用的,这就是为什么它不会在您需要的时候显示。第一步是检查您是否意外地自己调用了finish()

还要记住,系统可能已经杀死(完成)Activity A。如果对内存有很大的需求,就会发生这种情况。。。例如,如果你的Activity B是超重的(例如进行大量位图转换),它可能就是这样。

最后,如果可能的话,您可以将B的parentActivity指定为A,方法是将其添加到清单android:parentActivityName="....activity.A"中。这样,当你从B返回时,Android将打开A。

最新更新