如何将当前活动添加到活动堆栈

时间:2010-12-15 12:35:43

标签: android android-activity

有人可以告诉我是否有任何方法可以将当前活动添加到活动堆栈(活动历史记录)。我的情况如下:

  1. 用户启动新活动 - A(我不想放在堆栈上)
  2. 用户从A
  3. 开始新活动(B)
  4. 用户按下B
  5. 中的BACK按钮
  6. B消失了,但A也消失了
  7. 当用户启动活动B时,我想在历史记录中保留A以便能够使用BACK按钮向后移动。

    我唯一想到的就是在onKeyDown()方法中从B开始新的活动A.但也许还有更好的方法吗?

3 个答案:

答案 0 :(得分:1)

如果在用户启动活动B时没有为活动A调用finish(),则当用户完成活动B时它将在那里。

答案 1 :(得分:1)

这实际上是在应用程序的正常生命周期中发生的事情。如果您未在A中调用finish(),则应用程序将在B完成时返回A.

答案 2 :(得分:0)

在根活动中设置android:clearTaskOnLaunch =“true”(在清单文件中)

另外,除非你想阻止从B到A(当用户按下时),你应该删除“无历史”标志

文档:

如果在任务的根活动中将此属性设置为“true”,则只要用户离开任务并返回到该任务,就会将堆栈清除为根活动。换句话说,它与alwaysRetainTaskState的极性相反。即使在暂时缺席之后,用户也总是以初始状态返回任务

http://developer.android.com/guide/topics/fundamentals.html#clearstack http://developer.android.com/guide/topics/manifest/activity-element.html#clear