Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓-有没有办法弹出整个任务?_Android - Fatal编程技术网

Android 安卓-有没有办法弹出整个任务?

Android 安卓-有没有办法弹出整个任务?,android,Android,我在Android应用程序中运行了两个活动任务,我想找到一种方法来完全弹出第二个任务并返回到第一个任务的顶部。问题是,第一个堆栈中的顶部任务可能是许多不同的活动 假设我有任务1和一堆活动 任务1->A1->A2->A3 然后我开始任务2: 任务2->B1->B2->B3 当我到达B3时,我想弹出整个Task2堆栈并返回A3。我知道我可以使用A3作为指定的intent活动类启动一个新的intent,但是我的Task 1可以如下所示: 任务1->A1->A2 如果不跟踪Task 1的最后一个活动,有

我在Android应用程序中运行了两个活动任务,我想找到一种方法来完全弹出第二个任务并返回到第一个任务的顶部。问题是,第一个堆栈中的顶部任务可能是许多不同的活动

假设我有任务1和一堆活动

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

然后我开始任务2:

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

当我到达B3时,我想弹出整个Task2堆栈并返回A3。我知道我可以使用A3作为指定的intent活动类启动一个新的intent,但是我的Task 1可以如下所示:

任务1->A1->A2


如果不跟踪Task 1的最后一个活动,有没有简单的方法将所有内容从Task 2弹出,只需将我返回Task 1堆栈的顶部,而不考虑活动的类别?

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

Intent intent = new Intent(this, Activity.class);            
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(intent);   
如果这不是您所需要的,您可以使用eclipse auto complete查看其他可用标志。 下面是所有旗帜及其作用的列表


谢谢,我可能最终不得不走这条路,但这不是我的第一选择。我真的不想开始一个新的活动——我真正想做的是,在上面的例子中,将任务2中的活动吹走,然后继续任务1中堆栈顶部的任何活动。我宁愿不必跟踪另一个堆栈/任务上的内容并重新启动活动来恢复该任务(如果这有意义的话)。再想一想,@glethien,这让我相当接近我想要做的事情。虽然FLAG_ACTIVITY_CLEAR_TOP会将我返回到A1或B1,但它似乎确实为我清除了整个B堆栈。谢谢你的帮助!