Я пытаюсь создать несколько пользовательских уведомлений для своего приложения.
Обычно свернутые макеты просмотра ограничены 64 dp, а расширенные макеты просмотра - 256 dp.
Хотя я рассмотрел эти ограничения, похоже, что уведомление отключено на нескольких телефонах, как вы можете видеть на скриншотах ниже.Я провел некоторое исследование по этому вопросу, потому что думал, что существуют также ограничения в зависимости от разных производителей или интерфейсов, но ничего не смог найти.
Вот как это реализовано:
// 64dp is set for height
val collapsedView = RemoteViews(packageName, R.layout.custom_notification_collapsed)
// 256dp is set for height
val expandedView = RemoteViews(packageName, R.layout.custom_notification_expanded)
val customNotification: Notification = NotificationCompat.Builder(this, "default")
.setSmallIcon(R.drawable.ic_launcher_background)
.addAction(R.drawable.ic_map, "Personal", PendingIntent.getService(this, 0, personalIntent, PendingIntent.FLAG_UPDATE_CURRENT))
.addAction(R.drawable.ic_map, "Business", PendingIntent.getService(this, 0, businessIntent, PendingIntent.FLAG_UPDATE_CURRENT))
.addAction(R.drawable.ic_map, "Work", PendingIntent.getService(this, 0, businessIntent, PendingIntent.FLAG_UPDATE_CURRENT))
.setColor(Color.parseColor("#00D8FF"))
.setStyle(NotificationCompat.DecoratedCustomViewStyle())
.setCustomContentView(collapsedView)
.setCustomBigContentView(expandedView)
.build()
notificationManager.notify(4, customNotification)
Вотрезультат:
Xiaomi Mi Mix2
Samsung Galaxy Note 8
Теперь возникают вопросы: я как-то провалил реализацию?Если нет, есть ли способ выяснить макс.Высота уведомлений для текущего телефона программно?