当前位置: 首页 > 知识库问答 >
问题:

如果设备接收到来自fcm的推送通知,如何向处于终止状态的android应用程序显示/通信/广播消息

方心思
2023-03-14

我想更新传入的未读消息徽章计数应用程序的图标,如果设备收到消息推送从fcm和应用程序是在死亡状态。我能够这样做,如果应用程序是在后台,但不能这样做,如果应用程序是在死亡状态。如果我收到fcm消息推送,那么它只显示在通知托盘,但一些我想如何传递或与被杀死的应用程序通信。那么对此有什么解决办法吗

共有1个答案

云项禹
2023-03-14

是的,请参考https://firebase.google.com/docs/cloud-messaging/concept-options#notifications_and_data_messages

请注意,通知Mesages(应用程序处于终止状态)由android系统处理

但是,如果收到的通知是数据有效负载通知,则会将其移交给应用程序的FCMlistener的onMessageRecieved方法,因此,一旦从数据消息中提取消息,请将发送给设备的通知类型从通知消息改为数据消息,然后,您可以在那里生成通知,以显示或运行任何进程或方法,即使应用程序处于已终止状态

public class MyFcmListenerService extends FirebaseMessagingService {
String TAG = "FCM";
@Override
public void onMessageReceived(RemoteMessage message){
    String from = message.getFrom();
    Map data = message.getData();

    Log.e(TAG, "From: " + from);
    Log.e(TAG, data+"Notification Message To : " + data.get("name") +"\n body:"+data.get("body")+"\n time to live:"+data.get("time_to_live"));
    sendNotification( data);

}

在MyFcmListenerService中的应用程序中创建此类。java并使用数据消息作为fcm通知,它将根据需要工作

 类似资料:
  • 我在Android项目中使用推送通知(GCM)。 根据GCM教程,我实现了广播接收器,并将其注册到。 这种广播接收器应该接收消息,即使我的应用程序是关闭的(不仅如果我的应用程序是在后台,但即使它是强制停止)。 但它并不像我预期的那样有效<如果应用程序关闭,则不会调用code>onReceive()方法。看来我对广播接收机的理解是正确的,问题在于我对GCM的期望。 其中一个可能的原因是,如果应用程序

  • 即使应用程序从后台被杀死或从内存中被刷出,我如何接收到设备的fcm通知。我使用维梧、Oppo、松下设备。但在应用程序被终止时未收到通知。

  • 我通过FCM实现了推送通知。当应用程序从我的服务器获得一个新的通知时,通知面板会被我在notificationcompat.builder中设置的图标所注意,但消息不会作为弹出预览。我尝试设置优先级,样式,类别,但通知仍然没有显示。当我滚动时,我可以看到通知。 我在两种不同的设备操作系统(6.0.1和5.0.1)上尝试了这个应用程序,也是我的后端C#解决方案--两种方法都不弹出通知消息和通知 Fi

  • 我正在将通知从GCM迁移到FCM。在GCM中,当应用程序处于前台、后台或被杀死时,我能够收到通知,但在FCM中,当应用程序未被打开或被刷出时,我无法收到通知。我错过什么了吗???? } json请求正文:

  • 我正在使用FCM进行云消息传递。当我在后台和前台应用状态下收到来自服务器的消息推送时,我想添加应用徽章。我错过了什么?主要问题是根据消息推送添加/更新/删除应用徽章,我可以接收和处理推送消息。我在这个问题上花了3天时间。请帮帮我!?*徽章号码根据内部内容的变化,如如果收到新的电子邮件邮件到gmail应用程序,徽章号码在后台和前台应用程序状态更改为未读邮件计数。 使用XCode 9.2、Swift