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

如果从导航抽屉关闭应用程序,则在多个设备(Android)中未收到FCM消息,android,firebase,firebase-cloud-messaging,android-notifications,Android,Firebase,Firebase Cloud Messaging,Android Notifications,如果应用程序在前台运行,FCMService.java可以完美地处理所有后台通知任务。当我从应用程序抽屉关闭应用程序时,前面提到的服务停止处理传递的fcm消息,而是抛出以下日志 W/GCM:broadcast intent回调:结果=取消forIntent{ act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=com.technobees.nalamdot(有额外功能)} 我已经在以下设备中进行了测试,其中用户启用了isIg

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

W/GCM:broadcast intent回调:结果=取消forIntent{ act=com.google.android.c2dm.intent.RECEIVE flg=0x10000000 pkg=com.technobees.nalamdot(有额外功能)}

我已经在以下设备中进行了测试,其中用户启用了
isIgnoringBatteryOptimizations
,使用权限
操作\u请求\u忽略\u电池\u优化

  • Oneplus 3t
  • 小米红米4,注4,注5 pro(禁用MIUI优化)
  • 从节点服务器发送消息

    var消息={
    “数据”:通知,
    “令牌”:令牌,
    “安卓”:{
    “ttl”:0,
    “优先级”:“高”
    },
    “网络推送”:{
    “标题”:{
    “TTL”:“3000”
    }
    }
    };

    FCMService.java中

    @覆盖
    收到消息时公共无效(RemoteMessage RemoteMessage){
    Map data=remoteMessage.getData();
    //将数据传递给NotificationUtils->,它根据“事件”执行操作
    
    }

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

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

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

    
    

    无法继续工作。您可以共享代码。可以使用数据标记或通知标记发送通知有效负载。使用数据标记将触发FirebaseMessagingService onMessageReceived方法。当应用程序处于后台时,它在某些设备上无法工作。请参阅:---上面提到的日志有问题。您已经检查了上面的链接