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

时间:2018-07-19 11:18:46

标签: android firebase firebase-cloud-messaging android-notifications

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

  

W / GCM:广播意图回调:result = CANCELLED forIntent {   act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000   pkg = com.technobees.nalamdot(有其他功能)}

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

  1. 一加3t
  2. 小米Redmi 4,Note 4,Note 5专业版(禁用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" }

2 个答案:

答案 0 :(得分:0)

在android清单中插入这些行对我有用,

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

答案 1 :(得分:-1)

如果您想在应用程序关闭时收到通知,请尝试在清单文件中添加以下权限:

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