Android后台堆栈

时间:2017-03-22 06:39:53

标签: android back android-task

我在Android A,B,C,D中有一个包含多个活动的应用程序。我有关于后台的问题。

A-> B-> C-> D它是正常序列。

我的问题是:当我按下活动D中的后退按钮时,我必须转到活动B,而不是回到ActivityC。由于ActivityC有一些我要保存的imageView,我不想使用noHistory来销毁ActivityC。有可能做到这一点

A1-> B1-> C 1> D1

后堆栈应为:D1-> B1-> A1。 C1保存了一些imageView,如果C1再次启动,C1中的imageView将包含相同的图像。是否可以修改ActivityC ??

中的代码

谢谢

3 个答案:

答案 0 :(得分:0)

在活动D开始后,您应该在活动C中调用finish()

startActivity(intent);
finish()

答案 1 :(得分:0)

处理每项活动的onBackPressed()。因此,在反压D后,它将重定向到B,然后类似于A.

答案 2 :(得分:0)

使用活动的onActivityResult()方法: -

以下是它的工作原理 -

启动startActivityForResult()时使用activity方法

当你回去时 Activity D - 在完成写作之前 -

Intent i = getIntent();
setResult(RESULT_OK);
finish();

您的D已完成,c's onActivityResult()将被调用 - 保存您的数据并使用上述方法致电finish(),它将转到B's { {1}}。