android - 处理(许多)后堆栈
问题描述
我有一个应用程序,它具有 3 个步骤的特定任务流程,它们是 3 个不同的活动,当流程完成后,有一个活动会向您显示成功的消息,并让您在社交网络上分享、复制、保存它等等。 Activity 成功后,App 应该返回到 Main Activity。
首先,我尝试在开始下一个步骤时完成每个步骤活动,但如果需要,用户应该返回到之前的步骤,所以我放弃了它。
现在,我将成功活动称为 NEW_TASK 和 CLEAR_TOP,当 Activity 调用 OnBackPressed() 启动 MainActivity 时,当然这不是正确的方法,并且 Activity 在其他启动之前关闭,这让人感觉有问题。
如何处理 BackStack 以使 step 活动可以前后移动,但是当显示成功 Activity 时,一直返回到 Main Activity。
这应该是活动流程:
解决方案
首先调用主要活动的意图,然后finishAffinity()
从成功活动中调用。像
Intent i=new Intent(SuccessActivity.this,MainActivity.class);
startActivity(i);
finishAffinity();
推荐阅读
- python - 如何在 Python 中实现 Selenium 多个 WebDriverWait 的方法链接
- javascript - react-native 开源项目不起作用
- javascript - 博德玛斯计算器
- java - Mockito - 如何在类的抽象方法(即回调)上模拟和表达期望
- c++ - 在派生类中声明为 Virtual 的函数不执行,而是给出编译错误,为什么?
- c# - SQL 更改表中的 Id 值并更新其他表中的所有依赖记录
- logstash - Logstash 读取属性文件
- tensorflow - 提取嵌入层的输出
- roblox - 我如何使砖块模具然后炸毁?
- python - 检查坐标是否在坐标系的某个区域内