我一直在测试意图标志,但我需要澄清一些事情。我的导航抽屉里有两个项目,点击后我就这样做了,
Intent intent = new Intent(this, activityClazz);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
哪些类是具有相同导航抽屉的活动。 -No片段由于各种原因而被使用。在那些活动中,我有按钮打开相同的活动,但没有意图标志。我想要做的是使用默认的Android行为导航活动,但也根据导航项将它们堆叠在不同的堆栈中,如标签用法。
测试用例:
我希望回到第一个活动,因为我用新任务开始了第二个活动,所以第一个应该留在第一个堆栈中)但我发现第一个已经被破坏了。
答案 0 :(得分:3)
第一个活动(没有标志的活动)被销毁,因为第二个活动的标志组合执行以下操作:
如果在传递给Context.startActivity()的Intent中设置,则此标志将导致在活动开始之前清除与活动关联的任何现有任务。也就是说,活动成为否则为空任务的新根,并且任何旧活动都已完成。这只能与FLAG_ACTIVITY_NEW_TASK一起使用。
结合使用,这意味着使用后退按钮可以将带有activity1的task1带到前面,但是clear标志会立即结束activity1。所以这就是为什么你遇到activity1已经完成了。