【发布时间】:2017-12-09 11:47:30
【问题描述】:
我创建了一个应用程序,当收到来自 FCM 的消息时会启动警报。应用在前台、后台或 Activity 关闭时都能正常工作。
但是当手机长时间处于睡眠模式(不知道确切时间)时,onMessageReceived方法不会被调用,直到手机被手动唤醒。 FCM消息是具有高优先级的数据消息,根据文档应该能够唤醒手机。
有什么方法可以解决这个问题? 使用 WakeLock 是正确的方式,还是会增加电池寿命?
【问题讨论】:
-
我猜他们必须是主题消息??对吗?
-
是的,我将消息发送到所有应用用户都自动订阅的主题。
-
就是这样@PaulB,你总是会有一些奇怪的行为,因为主题消息虽然可以优先
high,但它们总是倾向于被赋予自己的优先级并且看起来优先级较低(有时),因为它们被考虑很宽泛,也不紧急。如果您的案例需要最快的方式,请发送到设备或设备组。这不仅仅是我的经验! -
好的,谢谢您的意见。我将尝试将其直接发送到设备,看看会发生什么。
-
我敢肯定,如果您将优先级设置为高,这将始终有效。祝您编码愉快!。
标签: android firebase-cloud-messaging android-wake-lock