0

当接收到Firebase推送通知时,如果应用程序处于后台,Firebase会自动显示通知。 此通知中包含的挂起的Intent似乎总是包含FLAG_ACTIVITY_NEW_TASK标志,这会在单击通知时导致应用程序重新启动,即使应用程序在后台中已处于活动状态。Android Firebase推送通知在点击后重新启动应用程序

有没有什么办法来防止这种行为,而只是调用主Activity的onNewIntent(intent)呢?

回答

0

活动的launchMode属性影响活动的启动方式。

看到:

https://developer.android.com/guide/topics/manifest/activity-element.html#lmode

singleTopsingleTask,或singleInstance应该用来防止通知意图从创建一个新的活动实例。

标志FLAG_ACTIVITY_NEW_TASK不影响正在创建的新活动,但会使已启动的活动成为新任务的根源。

看到:

https://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NEW_TASK

和:

https://developer.android.com/guide/components/tasks-and-back-stack.html

希望这有助于。

+0

嗨肖恩,你说的没错。我完全忘了设置launchMode。谢谢 :-) – Schm1