Android:状态栏中的多个通知作为单个列表

Android:状态栏中的多个通知作为单个列表,android,notifications,android-notifications,notificationmanager,Android,Notifications,Android Notifications,Notificationmanager,我正试图根据一些标准通知用户多个通知显示在状态栏中,但我想将通知分组为单个通知,当用户单击状态栏时,我想检索该组中的所有通知。可能吗?或者我必须维护这些通知的挂起内容?任何帮助都将不胜感激。例如,如果两个朋友的生日在同一天,那么应该显示两个通知。我想合并这些通知,即,不是状态栏中的两个通知,而是一个,当用户单击它时,它应该有关于两个通知的信息。可能吗 请参阅下面显示通知的代码 public void displayNotification(BirthdayDetail detail) {

我正试图根据一些标准通知用户<代码>多个通知显示在
状态栏
中,但我想
将通知分组为单个通知
,当用户单击
状态栏
时,我想检索该组中的所有通知。可能吗?或者我必须维护这些通知的
挂起内容
?任何帮助都将不胜感激。例如,如果两个朋友的生日在同一天,那么应该显示两个通知。我想合并这些通知,即,不是状态栏中的两个通知,而是一个,当用户单击它时,它应该有关于两个通知的信息。可能吗

请参阅下面显示通知的代码

public void displayNotification(BirthdayDetail detail)
    {
        NotificationCompat.Builder builder = new NotificationCompat.Builder(this.context);
        builder.setSmallIcon(R.drawable.ic_launcher);
        builder.setContentTitle(detail.getContactName());
        builder.setContentText(detail.getContactBirthDate());

        Intent resultIntent =  new Intent(this.context, NotificationView.class);
        resultIntent.putExtra("name", detail.getContactName());
        resultIntent.putExtra("birthdate", detail.getContactBDate());
        resultIntent.putExtra("picture_path", detail.getPicturePath());
        resultIntent.putExtra("isContact", detail.isFromContact());
        resultIntent.putExtra("notificationId", notificationId);

        if(detail.isFromContact())
        {
            resultIntent.putExtra("phone_number", detail.getPhoneNumber());
        }

        PendingIntent resultPendingIntent = PendingIntent.getActivity(this.context, requestCode++,
                resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
        builder.setContentIntent(resultPendingIntent);

        notificationManager 
                    = (NotificationManager) this.context.getSystemService(Context.NOTIFICATION_SERVICE);
        notificationManager.notify(notificationId, builder.build());
        notificationId++;
    }
当您需要为同一类型多次发出通知时 当然,您应该避免发出全新的通知。 相反,您应该考虑更新以前的通知,或者 通过更改其某些值或向其添加,或同时更改和/或添加

您可以使用以下内容:

mNotificationManager =
        (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// Sets an ID for the notification, so it can be updated
int notifyID = 1;
mNotifyBuilder = new NotificationCompat.Builder(this)
    .setContentTitle("New Message")
    .setContentText("You've received new messages.")
    .setSmallIcon(R.drawable.ic_notify_status)
numMessages = 0;
// Start of a loop that processes data and then notifies the user
...
    mNotifyBuilder.setContentText(currentText)
        .setNumber(++numMessages);
    // Because the ID remains unchanged, the existing notification is
    // updated.
    mNotificationManager.notify(
            notifyID,
            mNotifyBuilder.build());

来源:

我想同时显示多个。例如,如果两个朋友的生日在同一天,那么应该显示两个通知。我想合并这些通知,即,不是状态栏中的两个通知,而是一个,当用户单击它时,它应该有关于两个通知的信息。可能吗?我给你的代码是用于将2个或更多通知分组的。要处理单击操作,请使用与生日数相对应的
pendingent
。那么如何获取已显示的通知呢?然后,当我收到第二个通知时,我将第二个通知与第一个通知相结合。我看到你剪切并粘贴了谷歌代码,但是你怎么知道如何循环,你在循环什么?这个答案并不清楚。@JPM您可以根据您的用例自行管理它。如果是日历/生日应用程序,您从一开始就有关于生日数(在给定日期)的信息。