我目前正在开发一个 Android 应用程序,它使用 Firebase Messaging 从服务器接收通知。
它在大多数设备上运行良好,但在某些设备(例如我的 Oneplus 3)上,当我重新启动设备并且在重新启动后不打开我的应用程序时,它开始丢失通知,而当我打开应用程序时,它仅接收之后发送的通知打开应用程序。
当我在重启后未打开应用程序期间发送通知时,logcat 中显示以下消息。
这是 logcat 中的消息:
W/GCM-DMM: broadcast intent callback: result=CANCELLED forIntent { act=com.google.android.c2dm.intent.RECEIVE pkg=com.website.app (has extras) }
当应用程序被强制关闭时,logcat 中会收到相同的消息。
我可以要求用户不要强制停止,但我怎样才能阻止他们重启他们的设备。因此,在这种情况下,我请求 stackoverflow 社区的帮助。 有什么方法可以让我知道应用程序在关闭时遗漏了一些消息?
最佳答案
一些设备有一种特定于供应商的方式来阻止非主流应用被推送通知唤醒,从而不会在死状态下接收。
通过在该设备中查找 protected 应用
并点击允许
以开始接收死机状态的推送通知来确认是否属于这种情况。
我遇到过这个问题的设备有:- Techno
, Infinix
Huawei
e.t.c
关于java - 手机重启时的 FireBase 消息传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41506146/