android - 系统刚启动时未收到 FCM 通知

标签 android firebase push-notification firebase-cloud-messaging

我已经在我的 android 应用程序中实现了 FCM 推送通知。在正常情况下会收到推送通知。我的场景是:

  1. 关掉手机。
  2. 将 FCM 推送通知发送到使用生成的 Token FirebaseInstanceId.getInstance().getToken()
  3. 打开手机。 (未收到通知)
  4. 打开应用程序。 (未收到通知)

手机是否应该收到手机已开机的通知。我针对另一种情况测试了 FCM。

  1. 关闭互联网
  2. 将 FCM 推送通知发送到使用生成的 Token FirebaseInstanceId.getInstance().getToken()
  3. 打开互联网。 (收到通知)

为什么设备刚开机收不到FCM通知?

最佳答案

我认为你应该在不同的设备上重复这个场景,因为有些设备默认有特殊设置,比如不允许后台应用程序自动启动或访问互联网,除非明确允许。因此,这可能是设备特定的,例如,如果当应用程序未在前台打开或在最近的应用程序中可用时您没有收到通知,那么就是这种情况。

除此之外,我认为您应该在您的 list 中添加 RECEIVE_BOOT_COMPLETED 权限,并在收到 boot complete 广播时初始化您的应用,这样它就不会被杀死设备电源关闭并在设备打开时重新启动其服务。

我在一部手机上有几个带有 GCM 推送通知的应用程序,这部手机经常没电,但每次我再次打开它时,我都会收到手机离线时发送的所有通知。所以我认为你的场景中缺少一些东西,它应该在打开时收到通知。

关于android - 系统刚启动时未收到 FCM 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48983676/

相关文章:

javascript - 如何在 Firebase 实时数据库中过滤和检索嵌套子项?

java - Android - 使用方法设置字符串变量

android - 错误 :(10) Error parsing XML: duplicate attribute

java - fragment 中未解析的类 '@string/appbar_scrolling_view_behavior' 导致未触发行为 OnCreate

java - AWS Pinpoint 端点 ID 查找

ajax - Twitter 新推文功能?

iphone - Iphone 应用程序中应用程序图标上的徽章

android - mysql 获取的数据不显示在 android 的 ListView 上

android - 未剥离的 native 库的指定路径不是目录 - generateCrashlyticsSymbolFileRelease

angular - 如何在firebase中将电子邮件验证码发送到用户电子邮件