将新通知添加到组时,Android删除组通知中的通知数据

时间:2019-12-31 03:36:12

标签: android android-intent android-notifications

我的群组通知运行正常,但是,我注意到在几个小时后(当一段时间不使用设备时)收到新通知时,扩展通知时消息内容消失了。我知道这不是请求代码问题,因为所有请求代码都是唯一的,并且我能够像往常一样回复通知。

要注意的一件事是,通知contentText消失之后,出现的下一个通知(如果设备处于活动状态(不一定是应用程序)),则该通知在展开时将显示其正常文本。这似乎仅在一段时间不使用设备AND / OR应用程序时才会发生。这是一个android系统问题吗?

下面是描述行为的图片快照:


第一个通知

first notification


第二条通知进来了。

second notification comes in


扩展两个通知,因为您会看到它们的所有消息都消失了。

expanding both notifications


代码:请注意,我只发送一次摘要通知。

// Normal notification
int uniqueRequestCode = RandomUser.getUniqueRequestCode();
PendingIntent pendingIntent = PendingIntent.getActivity(
        this, uniqueRequestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Notificatio notification = new NotificationCompat.Builder(getApplicationContext(), MESSAGE_CHANNEL_ID)
    .setSmallIcon(R.drawable.ne1_white_logo_crop)
    .setContentTitle(title)
    .setContentText(body)
    .setStyle(new NotificationCompat.BigTextStyle().bigText(body))
    .setPriority(NotificationCompat.PRIORITY_DEFAULT)
    // Set the intent that will fire when the user taps the notification
    .setContentIntent(pendingIntent)
    .addAction(action)
    .setGroup(GROUP_KEY_MESSAGE)
    //.setGroupAlertBehavior(groupAlert)
    .setColor(Color.BLACK)
    .setAutoCancel(true)
    .build();

// Summary notification 
uniqueRequestCode = RandomUser.getUniqueRequestCode();  
PendingIntent pendingIntent = PendingIntent.getActivity(
    this, uniqueRequestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Notification summaryNotification = new NotificationCompat.Builder(this, MESSAGE_CHANNEL_ID)
        .setSmallIcon(R.drawable.ne1_white_logo_crop)
        // Specify which group this notification belongs to
        .setGroup(GROUP_KEY_MESSAGE)
        // Set this notification as the summary for the group
        .setGroupSummary(true)
        .setContentIntent(pendingIntent)
        .build();

1 个答案:

答案 0 :(得分:0)

根据this堆栈溢出答案,默认情况下,Android仅允许扩展一个通知。

我一直在使用的.setStyle(new Notification.MessagingStyle...足够了,可以保留扩展的通知。我强烈建议在需要扩展组中的多个通知的情况下使用MessagingStyle。至于BigTextStyle().bigText(),我不确定程序是否正确,因此已放弃。