java - 手机重启时的 FireBase 消息传递

标签 java android firebase google-cloud-messaging firebase-cloud-messaging

我目前正在开发一个 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/

相关文章:

swift - 类型 'StorageMetadata' 的值没有成员 'downloadURL'

java - Selenium id=未找到电子邮件

java - 无法以编程方式安装 apk 文件

android - Android 中的 AWS Mobile Hub 自定义身份验证

android - 如何使用 Lottie 动画文件作为滑动的占位符

java - AsyncTask 复制文件

java - 如何使用 Java ZoneId 的区域设置?

java - Android - 从 SDCard 中删除数据

javascript - 如何在Web浏览器中代理所有XMLHttpRequest?

android - 无法在 Android 应用程序发送的 firebase 存储中播放音频