[英]FCM Push Notifications are replacing when App is in Foreground
有一些用于计划任务的Web应用程序。 如果添加了一项任务,则通知将发送一些任务详细信息到应用程序。 如果添加了第二个任务,则第一个通知将替换为第一个通知。 仅显示一个通知,即第二个。
当应用在后台运行时,将显示2条通知。
但是一个应用程序位于前台,仅显示一个通知。 请帮我。
任何帮助,将不胜感激。
这是我在前台运行应用程序时用于通知的代码。
if (!NotificationUtils.isAppIsInBackground(getApplicationContext())){
Intent intent = new Intent(Config.PUSH_NOTIFICATION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK );
intent.putExtra("Plan","fromFCM");
broadcastManager.sendBroadcast(intent);
Bitmap bitmapIcon = BitmapFactory.decodeResource(getResources(), R.drawable.notify_app_icon);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_ONE_SHOT);
NotificationCompat.Builder notificationBulder = new NotificationCompat.Builder(this);
notificationBulder.setContentTitle(notificationData.getTitle());
notificationBulder.setContentText(notificationData.getTextMessage());
notificationBulder.setSmallIcon(R.drawable.notify_app_icon);
notificationBulder.setLargeIcon(bitmapIcon);
notificationBulder.setStyle(new NotificationCompat.BigTextStyle().bigText(notificationData.getTextMessage()));
notificationBulder.setAutoCancel(true);
//notificationBulder.setSmallIcon(R.mipmap.ic_launcher);
notificationBulder.setContentIntent(pendingIntent);
NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
if (notificationManager != null) {
notificationManager.notify(notificationData.getId(), notificationBulder.build());
/* Plan_Details plan_details = new Plan_Details();
plan_details.refreshPlan();*/
}
Android使用通知ID来区分通知。 因此,它不能区分通知,而显示多个通知。
在通知有效负载中使用tag
参数。
{
"notification" : {
"title" : "Notification Title",
"body" : "Notification Body",
"tag" : "your_unique_tag"
}
}
用于替换通知抽屉中现有通知的标识符。
如果未指定,则每个请求都会创建一个新通知。
如果已指定并且已显示具有相同标签的通知,则新通知将替换通知抽屉中的现有通知。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.