Не удается избавиться от дополнительного заполнения в личном уведомлении на экране блокировки - PullRequest
0 голосов
/ 22 мая 2019

Я реализовал простое частное уведомление, чтобы оно не показывало его содержимое на экране блокировки, если у пользователя есть защита экрана блокировки (pin, patter, fingerprint). Все работает хорошо, за исключением того, что по какой-то причине Android добавляет дополнительный отступ или дополнительную высоту к уведомлению без причины.

Уведомление, которое генерируется мной на изображении ниже, является первым. Слева, как это должно выглядеть. У него нет setPublicVersion, только видимость установлена ​​на частный. Справа показано, как это выглядит с неправильным размером. Это устанавливается через setPublicVersion. enter image description here

Ниже приведен код, используемый для создания уведомления на левом изображении:

new NotificationCompat
    .Builder(context, NOTIFICATION_CHANNEL_ID)
    .setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
    .setSmallIcon(drawable);

Ниже приведен код, используемый для создания уведомления на правом изображении:

new NotificationCompat
    .Builder(context, NOTIFICATION_CHANNEL_ID)
    .setVisibility(NotificationCompat.VISIBILITY_PRIVATE)
    .setSmallIcon(drawable)
    .setPublicVersion(new NotificationCompat
        .Builder(context, NOTIFICATION_CHANNEL_ID)
        .setSubText("1 unread message")
        .setSmallIcon(drawable)
        .build()
    );

Я также пытался не задавать субтекст, а также показывать общедоступное уведомление как общедоступное. Без изменений.

Эта проблема существует в Android 8 и Android 9. Что я делаю неправильно? Чего-то еще не хватает или это ошибка Android?

...