Android Firebase Push通知会在点击时重新启动应用

时间:2016-11-11 14:35:47

标签: android firebase firebase-cloud-messaging firebase-notifications

在接收Firebase推送通知时,当应用程序处于后台时,Firebase会自动显示通知。 此通知中包含的待处理Intent似乎始终包含FLAG_ACTIVITY_NEW_TASK标志,这将导致在单击通知时重新启动应用程序,即使应用程序已在后台运行。

有没有办法防止这种行为,而只是在调用的主Activity上使用onNewIntent(intent)?

2 个答案:

答案 0 :(得分:1)

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

见:

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

应使用

singleTopsingleTasksingleInstance来阻止通知意图创建新的活动实例。

标志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

希望这有帮助。

答案 1 :(得分:0)

AndroidManifest.xml中将您的活动launchMode设置为singleTask可以解决此问题:

<activity
  ......
  android:launchMode="singleTask"
  >