Как я могу сделать уведомление MediaStyle без большого значка? - PullRequest
0 голосов
/ 02 мая 2020

Фон

Я использую MediaStyle, чтобы сделать уведомление с помощью встроенных кнопок:

Notification with inline buttons

Проблема

На некоторых устройствах в левой части уведомления есть большой пробел. Это, вероятно, предназначено для обложки альбома musi c, но для моего приложения мне не нужно изображение.

Примеры

Фондовая Android 4

MediaStyle notification showing double-width icon area on Android 4

Xiaomi Redmi Note 7

MediaStyle notification showing double-width icon area on Xiaomi Redmi Note 4

Код

Вот код, который я использую:

new NotificationCompat.Builder(context, NotificationChannels.ID_CONTROLS)
    .setColor(context.getColor(R.color.main))
    .setSmallIcon(R.drawable.app_upright_filled)
    .setContentTitle(context.getText(R.string.app_name_full))
    .setContentText(context.getText(R.string.user_rotation_upright))
    .addAction(
        R.drawable.app_left_side,
        context.getText(R.string.user_rotation_left_side),
        leftSidePendingIntent
    )
    .addAction(
        R.drawable.action_turn_off,
        context.getText(R.string.action_turn_off),
        turnOffPendingIntent
    )
    .addAction(
        R.drawable.app_right_side,
        context.getText(R.string.user_rotation_right_side),
        rightSidePendingIntent
    )
    .setStyle(new androidx.media.app.NotificationCompat.MediaStyle()
        .setShowActionsInCompactView(0, 1, 2)
    )
    .build()

Вопрос

Как заставить уведомление использовать обычный маленький значок на Android 4 и устройствах Xiaomi, чтобы оно выглядело как обычное уведомление? Мне нужно использовать MediaStyle, чтобы сделать встроенные кнопки в уведомлении.

...