这个问题在这里已有答案:
如果应用程序在前台运行, FCMService.java
将完美地处理所有后台通知任务 . 当我从应用程序抽屉关闭应用程序时,上述服务停止处理传递的fcm消息,而是抛出以下日志
W / GCM:广播意图回调:result = CANCELED forIntent {act = com.google.android.c2dm.intent.RECEIVE flg = 0x10000000 pkg = com.technobees.nalamdot(has extras)}
我已经使用权限 ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
在用户启用 isIgnoringBatteryOptimizations
的情况下测试了以下设备 .
-
Oneplus 3t
-
小米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" }
2 回答
在android清单中插入这些行对我有用,
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.WAKE_LOCK" />
如果您希望在应用处于关闭状态时收到通知,请尝试在清单文件中添加以下权限: