2012-07-20 27 views
2

我有两个活动任务在Android应用程序中运行,我想要一种方式完全弹出第二个任务并返回到第一个任务的顶部。问题是,第一个堆栈中的首要任务可能是多个不同的活动。Android - 有没有办法弹出整个任务?

说我有任务1与活动

任务1堆栈 - > A1 - > A2 - > A3

我然后启动任务2:

任务2 - > B1 - > B2 - > B3

当我到达B3时,我想弹出整个任务2堆栈并返回到A3。我知道我可以用A3开始一个新的意图为指定的意图活动课但是我的任务1看起来是这样的:

任务1 - > A1 - > A2

有没有跟踪最后没有简单的方法任务1的任务是简单地将任务从任务2中弹出,只要将我返回到任务1堆栈的顶部,而不管任务的类是什么?

回答

1

我不确定这是否是您想要的,但是当您创建调用新活动的意图时,您可以设置一个清除堆栈的标志。

Intent intent = new Intent(this, Activity.class);    
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent); 

您可以使用eclipse auto complete来查看其他可用标志,如果这不正是您需要的。 这里是所有标志的列表以及它们的作用。

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_CLEAR_TOP

+0

谢谢,我可能最终不得不走这条路线,但它不是我的第一选择。我真的不想开始一项新的活动 - 我真正想要做的就是吹走我上面示例中任务2中的活动,并且只是继续任务1中堆栈顶部的任何活动。 我宁愿不必跟踪其他堆栈/任务上的内容,然后重新启动活动以恢复该任务(如果这样做有任何意义的话)。 – 2012-07-22 17:15:28

+1

第二个想法是@glethien,这让我相当接近我想做的事。认为FLAG_ACTIVITY_CLEAR_TOP会让我回到A1或B1,但它似乎确实为我清除了整个B堆栈。感谢您的帮助! – 2012-07-24 14:54:09

相关问题