android - FCM onMessageReceived 在应用程序运行时返回空白消息和标题

标签 android firebase push-notification firebase-cloud-messaging

正如您在标题中所写,当应用程序关闭时它运行良好并且 onMessageReceived 获取消息正文和标题但是如果应用程序处于前台模式(运行模式)则通知可以发送但没有消息和标题!

请问怎么办?

代码:

@Override
    public void onMessageReceived(RemoteMessage remoteMessage) {
        super.onMessageReceived(remoteMessage);

        String title = remoteMessage.getData().get("title");
        String message = remoteMessage.getData().get("body");
        sendNotification(title,message);
    }

我知道 Stackoverflow 中发布了很多问题,但我已经尝试了他们的解决方案,但问题仍然存在!

最佳答案

替换

String title = remoteMessage.getData().get("title");
String message = remoteMessage.getData().get("body);

通过

String title = remoteMessage.getNotification().getTitle();
String message = remoteMessage.getNotification().getBody();

您使用的是您在发送通知时设置为键值对的数据负载。您可以在 Advanced Options 部分下找到它们的输入字段作为 firebase 通知控制台中的 Custom Data

关于android - FCM onMessageReceived 在应用程序运行时返回空白消息和标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45019915/

相关文章:

android - PhoneGap 构建推送通知 (Android)

android - 分离所有合并的 Android 联系人

Java Restful web服务方法消费MultiPart数据抛异常

android - 如何以编程方式打开设备扩展坞设置?

javascript - html5 SessionStorage 在 android 模拟器中不起作用

javascript - 如何从 Firebase 中的父节点获取所有子节点?

javascript - 如何设置嵌套节点(Firebase、JavaScript)

android - Firebase Crashlytics 不发送崩溃报告

ios - 推送通知到达时间

android - 服务器域过期后发送 gcm 通知时获取 MismatchSenderId