如果应用程序从导航抽屉关闭,则在多个设备(Android)中未收到FCM消息



如果应用程序在前台运行,FCMService.java可以完美地处理所有后台通知任务。当我从应用程序抽屉关闭应用程序时,上述服务停止处理传递的fcm消息,而是抛出以下日志

W/GCM:广播意图回调:result=CANCELLED for intent{act=com.google.android.c2dm.intent.REIVE flg=0x10000000pkg=com.technobees.nalamdot(具有额外功能(}

我在以下设备中进行了测试,用户使用权限ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS启用了isIgnoringBatteryOptimizations

  1. Oneplus 3t
  2. 小米Redmi 4、Note 4和Note 5 pro(已禁用MIUI优化(

从节点服务器发送消息

var message = { 'data': notification, 'token': token, "android": { "ttl": 0, "priority": "HIGH" }, "webpush": { "headers": { "TTL": "3000" } } };

FCMService.java

@Override public void onMessageReceived(RemoteMessage remoteMessage) { Map<String, String> data = remoteMessage.getData(); //passing the data to the NotificationUtils -> which takes action based on "event" }

在android清单中插入这些行对我来说很有效,

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.WAKE_LOCK" />

如果您想在应用程序处于关闭状态时收到通知,请尝试在您的清单文件中添加这些权限:

<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />

最新更新