Рамки вокруг кастомного уведомления и фоновое изображение

В кастомном уведомлении отображаются рамки вокруг и если новое уведомление приходит, то мое уведомление по высоте сужается. Как можно исправить эти две ошибки?

введите сюда описание изображения

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.O) {
    notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    String channelID = "cID";
    CharSequence cannelName = "MyChannel";
    int importance = NotificationManager.IMPORTANCE_LOW;

    NotificationChannel notificationChannel = new NotificationChannel(channelID, cannelName, importance);
    notificationChannel.enableLights(true);
    notificationChannel.setLightColor(Color.RED);
    notificationChannel.enableVibration(true);
    notificationChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
    notificationManager.createNotificationChannel(notificationChannel);

    RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.custom_notification);
    remoteViews.setTextViewText(R.id.txtAppTitle, "НАЗВАНИЕ_ПРИЛОЖЕНИЯ");
    remoteViews.setTextViewText(R.id.txtAudioTitle, "Играет: " + "Audio 1");
    remoteViews.setOnClickPendingIntent(R.id.btnClose, pCloseIntent);

    Notification notification = new NotificationCompat.Builder(PlayerService.this, channelID)
            .setSmallIcon(R.mipmap.ic_launcher)
            .setChannelId(channelID)
            .setCustomContentView(remoteViews)
            .setCustomBigContentView(remoteViews)
            .setContentIntent(pendingIntent).build();

    startForeground(PlayerConstants.NOTIFICATION_ID.PLAYER_SERVICE_ID, notification);
}

Ответы (1 шт):

Автор решения: Vlad Orlinskas

По всей видимости проблема возникает из-за устройства Xiaomi и его оболочки MIUI. Вообще постарайтесь отказаться от custom layout для notifications. Система предоставляет широкие возможности для настройки уведомления, при этом не выбиваясь из общего стиля системы.

P.S. В скором времени, при переходе на minSDK 30. Область использования кастомного представления будет сильно урезана и общий стиль уведомления задать не получится. Постарайтесь сразу привести его к стандартному виду, тем более если вы не предоставляете особенных функций или контента.

Кнопка закрыть на уведомлении немного избыточна, ведь стандартным поведением является смахивание. Добавить действие можно с помощью .addAction(pendingIntent)

Текст можно установить с помощью .setContentTitle(name).setContentText(body)

Установить фон можно так:

.setColor(resources.getColor(R.color.colorPrimary))
.setColorized(true)
.setStyle(androidx.media.app.NotificationCompat.DecoratedMediaCustomViewStyle())
→ Ссылка