Android Firebase 推送通知在单击时重新启动应用程序

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

收到 Firebase 推送通知时,当应用程序处于后台时,Firebase 会自动显示通知。

此通知中包含的未决 Intent 似乎总是包含 FLAG_ACTIVITY_NEW_TASK 标志,这将导致 App 在单击通知时重新启动,即使 App 已经在后台运行。

有什么方法可以防止这种行为,而只需在主 Activity 上调用 onNewIntent(intent) 即可?

最佳答案

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

参见:

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

singleTopsingleTasksingleInstance 应该用于防止通知 Intent 创建新的 Activity 实例。

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

参见:

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

和:

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

希望这对您有所帮助。

关于Android Firebase 推送通知在单击时重新启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40550228/

相关文章:

android - 如何将颜色 LUT 应用于位图图像以在 android 中实现滤镜效果?

安卓旋转处理

java - 是否可以使用移动设备和 QRCodes 通过两因素身份验证来实现 OAuth?

javascript - 将 firebase 数据库连接到 chrome 扩展

Firebase 无法加载资源 : the server responded with a status of 400 error

ios - child 因扇出而改变

android - 对 Firebase 云消息传递 "simultaneous connections"的澄清?

关于通知的 Firebase Analytics 事件

java - 转换小时 :minutes AM/PM to unix timestamp

android - 在 Android 库项目中使用 Firebase 云消息传递