0

My group notifications are working fine, however, I noticed that after a couple of hours (When not using the device for a while) when a new notification comes, the message content disappears when the notification is expanded, that is, setStyle(new NotificationCompat.BigTextStyle().bigText()) text disappears. I know it is not a request code issue, as all request code are unique and I am able to reply to the notifications as normal.

One thing to note, after the notification disappears, the next notification that comes, if the device is active (not necessarily the app), that notification will display its normal text when expanded. This seems to occur only when the device AND/OR App is not in use for a while. Is this an android system problem?

Below is picture snap shot to describe the behavior:


First notification

first notification


Second notification comes in.

second notification comes in


Expanding both notifications, as you can see all of the messages for both of them disappears.

expanding both notifications


Code: Note that I only send summary notification once.

// 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();
Jam1
  • 629
  • 12
  • 25

1 Answers1

0

According to this stack overflow answer, Android by default only allows one notification to be expanded.

What I have been using now which is sufficient, and preserves expanding notification is .setStyle(new Notification.MessagingStyle.... I highly advise using MessagingStyle for situations where you want multiple notifications in a group to be expanded. As for BigTextStyle().bigText(), I am not sure of the proper procedure, so I have abandoned it.

Jam1
  • 629
  • 12
  • 25