Android 如何停止fcm自动生成的后台通知?

Android 如何停止fcm自动生成的后台通知?,android,push-notification,Android,Push Notification,当前台应用程序onMessageReceived返回数据时,但后台应用程序onMessageReceived不返回任何数据时。 FCM将在应用程序处于后台或终止模式时生成自动通知 我想停止自动生成的通知 这是我的示例代码: @Override public void onMessageReceived(RemoteMessage remoteMessage) { Log.e(TAG, "onMessageReceived: " + remoteMessage); Log.e(TA

当前台应用程序onMessageReceived返回数据时,但后台应用程序onMessageReceived不返回任何数据时。 FCM将在应用程序处于后台或终止模式时生成自动通知 我想停止自动生成的通知

这是我的示例代码:

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
    Log.e(TAG, "onMessageReceived: " + remoteMessage);
    Log.e(TAG, "onMessageReceived: " + remoteMessage.getFrom());
    Log.e(TAG, "onMessageReceived Message Body: " + remoteMessage.getNotification().getBody());
    handleNow(remoteMessage);
}

使用FCM,您可以向客户端发送两种类型的消息:

1.通知消息-有时被认为是显示消息。这些由FCM SDK自动处理

2.由客户端应用程序处理的数据消息

当应用程序位于后台时,通知消息会传递到通知托盘。对于前台应用程序,消息由onMessageReceived处理:

因此,如果您使用的是高优先级的通知消息,那么如果您的应用程序位于后台,则不会在onMessageReceived中收到回调。改为使用数据消息

遵循规则

您的数据消息应该如下所示

{
 "message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
  "Nick" : "Mario",
  "body" : "great match!",
  "Room" : "PortugalVSDenmark"
  }
 }
 }

使用FCM,您可以向客户端发送两种类型的消息:

1.通知消息-有时被认为是显示消息。这些由FCM SDK自动处理

2.由客户端应用程序处理的数据消息

当应用程序位于后台时,通知消息会传递到通知托盘。对于前台应用程序,消息由onMessageReceived处理:

因此,如果您使用的是高优先级的通知消息,那么如果您的应用程序位于后台,则不会在onMessageReceived中收到回调。改为使用数据消息

遵循规则

您的数据消息应该如下所示

{
 "message":{
"token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
"data":{
  "Nick" : "Mario",
  "body" : "great match!",
  "Room" : "PortugalVSDenmark"
  }
 }
 }

为它使用了通知托盘,此时它将调用您的onMessageReceived方法

请检查下面的链接,这有助于您

请将数据标记添加到json响应中,如下所示:

  {
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}

希望这对您有所帮助。

使用了通知栏,它将在那时调用您的onMessageReceived方法

请检查下面的链接,这有助于您

请将数据标记添加到json响应中,如下所示:

  {
  "message":{
    "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...",
    "notification":{
      "title":"Portugal vs. Denmark",
      "body":"great match!"
    },
    "data" : {
      "Nick" : "Mario",
      "Room" : "PortugalVSDenmark"
    }
  }
}

希望这对您有所帮助。

可能重复的可能重复的不起作用。当FCM看到通知键时,数据键无关紧要。这不起作用。当FCM看到通知键时,数据键并不重要。