【发布时间】:2017-04-26 04:37:52
【问题描述】:
我想从任何活动返回 MainActivity。 例如,我的一系列活动: A - B - C - D。 A(MainActivity)在栈底,D在栈顶。
当我使用 android:launchMode="singleTask" 时。我可以按照我的预期在任何活动中回到 A。
但是当我使用标志 FLAG_ACTIVITY_NEW_TASK(没有 launchMode="singleTask")时,它不能按预期工作,它会打开一个新的 Activity。
堆栈是:
A - B - C - D - A
不像文件写的那样:
FLAG_ACTIVITY_NEW_TASK
在新任务中启动活动。如果一个任务是 已经为您现在开始的活动运行,该任务是 以恢复其最后状态和 Activity 在 onNewIntent() 中接收新的 Intent。这会产生与“singleTask”launchMode 值相同的行为,在 上一节。
有人知道原因吗?谢谢。
【问题讨论】:
-
看我的回答你不需要singleTask、newTask等。只需输入这段代码并完成。
-
对不起,这不是答案。因为我想知道
FLAG_ACTIVITY_NEW_TASK不像文档所说的那样工作。 -
我认为你应该为此使用广播接收器
-
谢谢,
singleTask按我的预期工作。我以前使用广播接收器,我是一个解决方案,但是我在堆栈中有很多活动,需要听很多。所以singleTask是一个很好的解决方案。
标签: android android-manifest android-task