我有一个活动。启动方式是singleTask,我实现onNewIntent。当我在活动打开时发送启动此活动的意图时(带有标志 NEW_TASK 和 RESET_TASK_IF_NEEDED),屏幕会在向我显示相同的活动之前闪烁。
为什么会发生这种情况?我认为 singleTask 应该足以确保将新意图传递给 onNewIntent,而不是系统为我的活动启动新任务或任何东西。当我执行以下任一操作时,闪烁消失:
- 将启动模式更改为 singleTop;
- 将标志 Intent.FLAG_ACTIVITY_CLEAR_TOP 添加到启动意图。
我很想知道发生了什么以及我可以做些什么来克服闪烁(如果可能的话,我真的不希望更改启动模式或启动意图标志)。基本上,有什么好的理由为什么这不起作用?
请注意,即使屏幕闪烁,我也确实获得了 onNewIntent。