Android макс.размер пользовательского уведомления - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь создать несколько пользовательских уведомлений для своего приложения.

Обычно свернутые макеты просмотра ограничены 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

Теперь возникают вопросы: я как-то провалил реализацию?Если нет, есть ли способ выяснить макс.Высота уведомлений для текущего телефона программно?

1 Ответ

0 голосов
/ 29 января 2019

Notification (ваш RemoteView), который вы видите, создан другим процессом, и только этот процесс может знать размер

Официального способа получения максимальной высоты для настраиваемого уведомления не существует.Я думаю, что единственный способ сделать это - уменьшить размер текста

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...