从堆栈完成一些活动

时间:2016-04-22 11:11:48

标签: android android-intent android-activity

从我的MainActivity我发起一系列选择活动。一旦用户完成了那些活动,我想从堆栈中删除它们。 例如如果堆栈看起来像这样:

MainActivity - > ChooserActivityA - > ChooserActivityB - > ChooserActivityC

用户按下ChooserActivityC上的按钮以启动SomeActivity,然后我想要堆栈:

MainActivity - > SomeActivity

有没有办法实现这个目标?请注意,用户应该可以从ChooserActivityC返回到ChooserActivityB,因此在启动下一个活动之前无法完成活动。

我在使用ChooseActivityA启动intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);时尝试创建新任务,我想在SomeActivity使用intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);启动后完成整个任务但似乎完成MainActivity。理由似乎是FLAG_ACTIVITY_NEW_TASK没有首先创建新任务。

我希望能以一种简单的方式帮助实现这一目标。

1 个答案:

答案 0 :(得分:0)

考虑使用一个主机Activity作为导航控制器和许多碎片。

有一种方法可以使用ActivityManager来调查返回堆栈,但已弃用。

无论如何,它可能太“hacky”了。很简单,所以读取代码的开发人员不想杀死你=)