从我的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
没有首先创建新任务。
我希望能以一种简单的方式帮助实现这一目标。
答案 0 :(得分:0)
考虑使用一个主机Activity作为导航控制器和许多碎片。
有一种方法可以使用ActivityManager来调查返回堆栈,但已弃用。
无论如何,它可能太“hacky”了。很简单,所以读取代码的开发人员不想杀死你=)