推送通知在 Android Doze 模式下延迟

kyr*_*rax 9 android push-notification firebase-cloud-messaging android-doze

我正在通过 adb 让我的 Android 设备进入睡眠状态:

adb shell dumpsys battery unplug
adb shell dumpsys deviceidle step <-- repeat until state is IDLE
Run Code Online (Sandbox Code Playgroud)

然后我发送以下 JSON:

{
   "to":"dYA7tVZrfag:APA91bFVqddVcJHnr_7ZhgNC5iu4Y6XKcLbSVD4DlZgfjMKwKvZhJHiKR4DIzpMrX8zUL15C_adfyEcrlI9q6zOFqFs_zwNPTVIDm-v20ZK0qgagKYGaQE1OPBqdH4P_JHYIXOIS3gfn",
    "priority": "high",
    "data":{
        "test0":"test0",
        "test1":"test1"
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:什么都没有……直到我唤醒设备,然后我才能将所有消息排队。我正在通过将日志放入方法来监视消息是否到来onMessageReceived()

我搜索了一下,有人说使用旧版本的 Android Studio 或升级 FCM SDK 的版本 (9.4.0) 可以解决问题。我都做了,但都没有成功。

编辑:这个问题似乎只发生在三星 Galaxy S5 上