首页 > 解决方案 > 处理(许多)后堆栈

问题描述

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

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

现在,我将成功活动称为 NEW_TASK 和 CLEAR_TOP,当 Activity 调用 OnBackPressed() 启动 MainActivity 时,当然这不是正确的方法,并且 Activity 在其他启动之前关闭,这让人感觉有问题。

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

这应该是活动流程:

活动流方法

标签: androidandroid-activityback-stack

解决方案


首先调用主要活动的意图,然后finishAffinity()从成功活动中调用。像

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

推荐阅读