Android 将接收到的多个解析推送通知折叠为一个

Android 将接收到的多个解析推送通知折叠为一个,android,parsing,push-notification,google-cloud-messaging,Android,Parsing,Push Notification,Google Cloud Messaging,我想把多个折叠成一个。我查看了折叠键,并将其添加到有效负载中,如下所示: Parse.Push.send({ where: somebody, collapse_key: "places_push", data: { alert: "alertText", type: "pushType" } }//... 但在我的Android应用程序中,多个推送仍然没有变成一个推送。如果我连续收到两个推送通知,我会在通知托盘中看到两张卡,而不是一张。

我想把多个折叠成一个。我查看了折叠键,并将其添加到有效负载中,如下所示:

Parse.Push.send({
    where: somebody,
    collapse_key: "places_push",
    data: {
      alert: "alertText",
      type: "pushType"
    }
}//...

但在我的Android应用程序中,多个推送仍然没有变成一个推送。如果我连续收到两个推送通知,我会在通知托盘中看到两张卡,而不是一张。我是否应该以某种方式在应用程序端处理此问题,例如在ParsePushBroadcastReceiver的onPushOpen回调中,确保传递给NotificationManager对象的通知ID对于同一折叠键下的每条消息都保持不变。这样,您的通知将被更新,而不是在以前的通知之外显示新的通知。请参阅mNotificationManager.notify代码。

我通过覆盖ParsePushBroadcastReceiver子类的getNotification方法并在其中使用累积文本构建通知(即,如果已经显示通知),解决了此问题,将上次推送收到的通知追加到以前通知的文本中。为了允许通知中包含多行内容,我按照以下方式设置了通知的样式:

NotificationCompat.InboxStyle inboxStyle =
                        new NotificationCompat.InboxStyle();
inboxStyle.setBigContentTitle("Details: ");
for(String s: notificationLines){
    inboxStyle.addLine(s);
}
builder.setStyle(inboxStyle);

我希望这能有所帮助。

您能分享完整的代码吗?非常感谢!