处理(许多)返回堆栈

Handling (many) Back stacks

我有一个应用程序,它有一个包含 3 个步骤的特定任务流程,这是 3 个不同的活动,流程完成后,会有一个 activity 向您显示成功消息并让您分享它在社交网络上,复制它,保存它等。成功后 Activity,应用程序应该 return 到 Main Activity。

首先,我尝试在开始下一步时完成每个步骤 activity,但如果需要,用户应该 return 到前面的步骤,所以我放弃了它。

现在,我将成功 activity 称为 NEW_TASK 和 CLEAR_TOP,当 Activity 调用 OnBackPressed() 启动 MainActivity,当然这不是正确的方法,Activity 在另一个开始之前关闭,这让人感觉有问题。

如何处理 BackStack 以使步骤活动可以前后移动,但是当显示成功 Activity 时,一直返回到 Main Activity。

这应该是 Activity 流程:

首先调用 main activity 的 intent,然后从成功 activity 调用 finishAffinity()。 喜欢

Intent i=new Intent(SuccessActivity.this,MainActivity.class);
startActivity(i);
finishAffinity();

尝试了很多方法后,MainActivity的新开始是我不想要的,所以我不得不使用Fragments,Activities 1、2、3和Success被替换了只有一个 Activity 和 4 个片段,当用户完成应用程序时,将 activity 和 return 完成到 MainActivity.