Android - 启动意图打开已打开的活动时屏幕闪烁

Pat*_*k87 6 android android-intent

我有一项活动.启动模式是singleTask,我实现onNewIntent.当我在活动打开时发送启动此活动的意图(标志为NEW_TASK和RESET_TASK_IF_NEEDED)时,屏幕会闪烁,然后显示相同的活动.

为什么会发生这种情况?我认为singleTask应该足以确保将新意图传递给onNewIntent,而不是系统为我的活动启动新任务或任何事情.当我做以下任何一件事时,闪烁消失了:

  • 将启动模式更改为singleTop;
  • 将标志Intent.FLAG_ACTIVITY_CLEAR_TOP添加到启动意图.

我很想知道发生了什么,以及我能做些什么来克服闪烁(我真的不想改变启动模式或启动意图标志,如果可能的话).基本上,有什么理由不适用吗?

请注意,即使屏幕闪烁,我也会获得onNewIntent.