电话睡着时没有调用onMessageReceived

时间:2017-12-09 11:47:30

标签: android firebase-cloud-messaging android-wake-lock

我创建了一个应用程序,当收到来自FCM的消息时会启动警报。该应用程序在前台,后台或活动关闭时工作正常。

但是当手机长时间处于睡眠模式时(不知道确切的时间),手机上电话被唤醒之前不会调用onMessageReceived方法。 FCM消息是具有高优先级的数据消息,根据文档应该能够唤醒电话。

有什么方法可以解决这个问题? 正在使用WakeLock的方式,还是电池寿命很重?

1 个答案:

答案 0 :(得分:0)

从后端发送使用此格式的通知:

{ 


"notification" : {
    "click_action" : ".MainActivity", 
    "body" : "new Symulti update !", 
    "title" : "new Symulti update !", 
    "icon" : "ic_notif_symulti" }, 



"data": { ... },


"to" : "c9Vaa3ReGdk:APA91bH-AuXgg3lDN2WMcBrNhJZoFtYF9" }

这里的关键是添加

"click_action" : ".MainActivity"

用于处理点击操作。