如何在Android中清除任务并更改根活动?

如何在Android中清除任务并更改根活动?,android,android-activity,task,Android,Android Activity,Task,形势 活动A->活动B->活动C 当活动C开始时,我希望C成为根活动,而A和B完成 我怎样才能做到这一点 UDPATE 我在10级,所以我不能使用11级和更高级别的CLEAR_任务标志。strong调用后的文本 startactivity() method call this.finish(); 先是A,然后是B 希望这能满足您的要求在清单中设置以下行活动C的条目 android:clearTaskOnLaunch="true" 在您的发射意图中添加一个标志: FLAG_ACTIVITY_C

形势

活动A->活动B->活动C

当活动C开始时,我希望C成为根活动,而A和B完成

我怎样才能做到这一点

UDPATE

我在10级,所以我不能使用11级和更高级别的CLEAR_任务标志。strong调用后的文本

startactivity() method call this.finish();
先是A,然后是B


希望这能满足您的要求

在清单中设置以下行活动C的条目

android:clearTaskOnLaunch="true"

在您的发射意图中添加一个标志:

FLAG_ACTIVITY_CLEAR_TASK
示例:Intent launchC=newintent(getapplicationconcontext(),nameC.class)

launchC.setFlags(Intent.FLAG\u ACTIVITY\u CLEAR\u TASK)

基本上和前面的答案相同,但前面的方法在每次启动C时都有明确的任务,但有了这个标志,您可以拥有不同的控件。 干杯

更新解决方案


我使用startActivityForResult解决它并发回一个结果。

您希望a和B只完成med C启动吗?否则,你可以在开始一项新活动之前调用finish()。看看这个类似的[post][1][1]:@Carnal:是的,我知道,但我必须在a和B上都调用finish,才刚刚开始C@DamienPraca抱歉,CLEAR_任务只针对级别>=11我在级别10,我不知道这是否是个好主意。但是您可以创建一个活动列表,在a和B中您将自己添加到此列表中,在C中,您将这两个活动取出并调用finish()。只是一个想法!只有当C启动时,我才必须完成A和B,当我从A启动B时,我不想调用finish()。你的意思是你必须结束A和B,它们在C运行时同时处于暂停状态吗?