FLAG_ACTIVITY_NEW_TASK未按预期工作

时间:2016-07-17 19:03:34

标签: android android-intent android-activity

我有一个包含3个活动的堆栈:A, B, C。从Activity C开始,我在Intent上开始Activity B设置标志:FLAG_ACTIVITY_NEW_TASK。根据文档,这应该使Activity B在底层带有基础任务,从而产生堆栈:A, B, C, A, B。 但实际堆栈为A, B, C, B。当我按下Activity B的后退按钮时,我按相反的顺序浏览上面的堆栈:B -> C -> B -> A。 从Activity B开始Activity C的代码是:

Intent intent = new Intent(this, B.class);
intent.setFlag(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

根据文档,标记FLAG_ACTIVITY_NEW_TASK导致与"singleTask" launchMode值相同的行为。如果我在AndroidManifest.xml文件中设置"singletask"上的启动模式Activity B,那么它会按照文档中的说明生成预期的行为:任务A, B出现在前面在堆栈A, B, C, A, B中。 为什么它不适用于标志FLAG_ACTIVITY_NEW_TASK?在这种情况下,是否还需要一些affinity配置?

0 个答案:

没有答案