如何在android中获取已点击通知的通知ID

如何在android中获取已点击通知的通知ID,android,firebase,notifications,firebase-cloud-messaging,Android,Firebase,Notifications,Firebase Cloud Messaging,实际上,我正在安卓系统中实现一个聊天应用程序。我面临的问题是,当一个用户收到多个通知时,当用户单击任何通知时,它会将用户带到该用户的聊天室,该用户的聊天室在最后收到了通知。然后我删除了挂起的意图标志,即pendingent.flag_UPDATE_CURRENT。删除后,用户总是被带到用户的聊天室,该聊天室首先收到通知。这就是我正在做的。我怎样才能解决这个问题 private void showNotification(final Map<String, String> payloa

实际上,我正在安卓系统中实现一个聊天应用程序。我面临的问题是,当一个用户收到多个通知时,当用户单击任何通知时,它会将用户带到该用户的聊天室,该用户的聊天室在最后收到了通知。然后我删除了挂起的意图标志,即pendingent.flag_UPDATE_CURRENT。删除后,用户总是被带到用户的聊天室,该聊天室首先收到通知。这就是我正在做的。我怎样才能解决这个问题

private void showNotification(final Map<String, String> payload) {

    final RemoteViews normalLayout = new RemoteViews(getPackageName(), R.layout.custom_normal_notification);
    final RemoteViews expandedLayout = new RemoteViews(getPackageName(), R.layout.custom_expanded);
    initChannels(this);
    String imageUrl = payload.get("imageUrl");

    new NotificationsLoadImage(new NotificationsLoadImage.LoadImageCallback() {
        @Override
        public void Success(Bitmap bitmap) {
            value++;
            bitmap = getRoundedCroppedBitmap(bitmap, bitmap.getWidth());

            normalLayout.setImageViewBitmap(R.id.normal_notification_image, bitmap);
            normalLayout.setTextViewText(R.id.normal_notification_title, payload.get("username"));
            normalLayout.setTextViewText(R.id.normal_notification_description, payload.get("message"));
            expandedLayout.setImageViewBitmap(R.id.expanded_notification_image, bitmap);
            expandedLayout.setTextViewText(R.id.expanded_notification_title, payload.get("username"));
            expandedLayout.setTextViewText(R.id.expanded_notification_description, payload.get("message"));

            Intent intent = new Intent(MyFirebaseMessagingService.this, HomeScreen.class);
            //intent.setAction(Long.toString(System.currentTimeMillis()));
            PendingIntent _pendingIntent = PendingIntent.getActivity(MyFirebaseMessagingService.this, 0,
                    intent, PendingIntent.FLAG_UPDATE_CURRENT);
            expandedLayout.setOnClickPendingIntent(R.id.btn_reply, _pendingIntent);
            //  bitmap  = getCircleBitmap(bitmap);
            //Toast.makeText(MyFirebaseMessagingService.this, "Success", Toast.LENGTH_SHORT).show();

                builder = new NotificationCompat.Builder(MyFirebaseMessagingService.this, "default");
                builder.setSmallIcon(R.mipmap.ic_launcher);
                // builder.setLargeIcon(bitmap);
                // builder.setContentTitle(payload.get("username"));
                //builder.setContentText(payload.get("email"));
                builder.setDefaults(Notification.DEFAULT_SOUND);
                builder.setLights(Color.WHITE, 500, 500);
                builder.setStyle(new NotificationCompat.DecoratedCustomViewStyle());
                builder.setCustomContentView(normalLayout);
                builder.setCustomBigContentView(expandedLayout);
                builder.setAutoCancel(true);

                builder.setOngoing(false);
                builder.setWhen(Calendar.getInstance().getTimeInMillis());


                Intent _intent = new Intent(MyFirebaseMessagingService.this, MessageActivity.class);
                _intent.putExtra("Type","Notification");
                _intent.putExtra("userid", payload.get("senderID"));
                _intent.putExtra("token",payload.get("SenderToken"));
                _intent.putExtra("userCount", payload.get("userCount"));

                TaskStackBuilder stackBuilder = TaskStackBuilder.create(MyFirebaseMessagingService.this);
                stackBuilder.addNextIntent(_intent);
                PendingIntent pendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
                builder.setContentIntent(pendingIntent);

                if (notificationManager != null) {
                    notificationManager.notify(Integer.parseInt(payload.get("userCount")), builder.build());
                    Toast.makeText(MyFirebaseMessagingService.this, "ID: " + payload.get("userCount"), Toast.LENGTH_SHORT).show();
                    id++;
                }





               // notificationManager.notify(Integer.parseInt(payload.get("userCount")), builder.build());

        }

        @Override
        public void Error(Exception e) {

        }
    }).execute(imageUrl);
}
private void showNotification(最终地图负载){
最终远程视图normalLayout=新远程视图(getPackageName(),R.layout.custom\u normal\u通知);
final RemoteViews expandedLayout=新的远程视图(getPackageName(),R.layout.custom_expanded);
初始通道(本);
字符串imageUrl=payload.get(“imageUrl”);
新建NotificationsLoadImage(新建NotificationsLoadImage.LoadImageCallback(){
@凌驾
公共无效成功(位图){
值++;
位图=getRoundedCroppedBitmap(位图,bitmap.getWidth());
normalLayout.setImageViewBitmap(R.id.normal\u通知\u图像,位图);
normalLayout.setTextViewText(R.id.normal\u notification\u title,payload.get(“用户名”);
normalLayout.setTextViewText(R.id.normal\u notification\u description,payload.get(“message”);
expandedLayout.setImageViewBitmap(R.id.expanded\u通知\u图像,位图);
expandedLayout.setTextViewText(R.id.expanded_notification_title,payload.get(“用户名”);
expandedLayout.setTextViewText(R.id.expanded\u notification\u description,payload.get(“message”);
意向意向=新意向(MyFirebaseMessagingService.this,HomeScreen.class);
//intent.setAction(Long.toString(System.currentTimeMillis());
PendingEvent _PendingEvent=PendingEvent.getActivity(MyFirebaseMessagingService.this,0,
意向、挂起内容、标志(更新当前);
expandedLayout.setonclickpendingent(R.id.btn_reply,_pendingent);
//位图=getCircleBitmap(位图);
//Toast.makeText(MyFirebaseMessagingService.this,“Success”,Toast.LENGTH_SHORT.show();
builder=new NotificationCompat.builder(MyFirebaseMessagingService.this,“默认”);
builder.setSmallIcon(R.mipmap.ic_启动器);
//builder.setLargeIcon(位图);
//builder.setContentTitle(payload.get(“用户名”));
//builder.setContentText(payload.get(“电子邮件”));
builder.setDefaults(通知.DEFAULT\u声音);
建筑商设置灯(颜色:白色,500500);
builder.setStyle(新的NotificationCompat.DecoratedCustomViewStyle());
builder.setCustomContentView(normalLayout);
builder.setCustomBigContentView(expandedLayout);
builder.setAutoCancel(true);
builder.setup(假);
setWhen(Calendar.getInstance().getTimeInMillis());
Intent _Intent=newintent(MyFirebaseMessagingService.this,MessageActivity.class);
_意向书(“类型”、“通知”);
_intent.putExtra(“userid”,payload.get(“senderID”);
_intent.putExtra(“token”,payload.get(“SenderToken”);
_intent.putExtra(“userCount”,payload.get(“userCount”);
TaskStackBuilder stackBuilder=TaskStackBuilder.create(MyFirebaseMessagingService.this);
stackBuilder.addNextIntent(_意向);
PendingEvent PendingEvent=stackBuilder.GetPendingEvent(0,PendingEvent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(挂起内容);
如果(notificationManager!=null){
notificationManager.notify(Integer.parseInt(payload.get(“userCount”)))、builder.build();
Toast.makeText(MyFirebaseMessagingService.this,“ID:”+payload.get(“userCount”),Toast.LENGTH\u SHORT.show();
id++;
}
//notificationManager.notify(Integer.parseInt(payload.get(“userCount”)))、builder.build();
}
@凌驾
公共作废错误(例外e){
}
}).execute(imageUrl);
}

在挂起的意图中使用唯一的requestCode,基于此,您可以执行对我有效的任何操作。谢谢你