Установка большого значка уведомления не работает в Jetpack Compose

#android #kotlin #android-jetpack-compose

Вопрос:

Я пытаюсь показать большой значок с правой стороны уведомления от составного, но получаю ошибку несоответствия типов, но я использую .png изображение:

 Type mismatch: inferred type is Int but Bitmap? was expected
 

Что я делаю не так?

 @Composable
fun NotificationApp() {
    val context = LocalContext.current
    val channelId = "MyTestChannel"
    val notificationId = 0

    val builder = NotificationCompat.Builder(context, channelId)
        .setSmallIcon(R.drawable.ic_edit_location) 
        .setContentTitle("My Test Notification")
        .setContentText("This is my test notification in one line...")
        .setLargeIcon(R.drawable.header) // error here
        .setStyle(
            NotificationCompat.BigTextStyle()
                .bigText(
                    "This is my test notification in one line. Made it longer "  
                            "by setting the setStyle property. "  
                            "It should not fit in one line anymore, "  
                            "rather show as a longer notification content."
                )
        )
        .setPriority(NotificationCompat.PRIORITY_DEFAULT)

    createNotificationChannel(channelId, context)

    with(NotificationManagerCompat.from(context)) {
        notify(notificationId, builder.build())
    }
}
 

Спасибо за вашу помощь!

Ответ №1:

Метод setLargeIcon работает с a Bitmap .

Вы можете использовать:

 .setLargeIcon(BitmapFactory.decodeResource(context.resources,R.drawable.header)) 
 

Комментарии:

1. Идеально! Спасибо!! Какие-нибудь советы о том, как сделать значок круглым?