При создании связанного уведомления с использованием setGroup () и setGroupSummary () у меня возникают некоторые странные проблемы, связанные с поведением уведомлений.
Итак, для справки.Этот пример содержит проблему:
var isFirstNotificationInGroup = true
val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
notificationManager.activeNotifications.forEach {
if (it.notification.group == groupId) {
isFirstNotificationInGroup = false
}
}
}
val builder = NotificationCompat.Builder(this, channelId).apply {
color = resources.getColor(R.color.colorAccent)
priority = NotificationCompat.PRIORITY_MAX
setSmallIcon(R.drawable.ic_dotoo_logo)
setContentTitle(title)
setContentText(body)
setStyle(NotificationCompat.BigTextStyle()
.bigText(body))
setAutoCancel(true)
setCategory(NotificationCompat.CATEGORY_SOCIAL)
setGroup(groupId)
setGroupSummary(isFirstNotificationInGroup)
}
< ... >
with(NotificationManagerCompat.from(this)) {
notify(notificationId, builder.build())
}
Что происходит?
Первое уведомление будет отображаться так, как должно.Так что никаких проблем здесь.Затем, когда мы показываем второе уведомление.Он заменяет первый.Этого не должно быть. И нет, это не из-за идентификатора уведомления.Насколько я знаю, это не связано с этим.
Но когда мы показываем третье (или более) уведомление, пакет работает, как ожидалось, и показывает два (или более) связанных уведомления.Но первый ... ушел.
Заранее спасибо за помощь.