Android: большой значок в конструкторе уведомлений становится пиксельнымAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android: большой значок в конструкторе уведомлений становится пиксельным

Сообщение Anonymous »

Я создаю уведомление и устанавливаю большой значок в конструкторе, используя растровое изображение.
Я отлаживаю это растровое изображение, оно становится правильным с размером 1024*1024, но все равно после добавления в уведомление оно показывает мне пиксельное (размытое)

Код: Выделить всё

 notificationBuilder?.setLargeIcon(bitmap) // using this we load bitmap you can check in below code
Вот код для создания уведомления

Код: Выделить всё

fun generateNotification(isPlaying: Boolean? = null): Notification {
val notificationBuilder = NotificationCompat.Builder(mService, CHANNEL_ID)
createNotificationChannel()
notificationBuilder.setStyle(style)
notificationBuilder.setPriority(NotificationCompat.PRIORITY_HIGH)
mediaSession.isActive = true
val state = if (isPlaying == true) PlaybackStateCompat.STATE_PLAYING else PlaybackStateCompat.STATE_PAUSED
playbackStateBuilder.setState(state, mService.getCurrentPosition(), mService.getPlaybackSpeed())
val playBackState = playbackStateBuilder.build()
mediaSession.setPlaybackState(playBackState)
mediaSession.setCallback(callback)
val mediaMetadataBuilder = MediaMetadataCompat.Builder()
mediaMetadataBuilder.putLong(MediaMetadata.METADATA_KEY_DURATION, mService.getDuration())
mediaSession.setMetadata(mediaMetadataBuilder.build())

notificationBuilder.setContentIntent(mContentIntent)
notificationBuilder.setSmallIcon(R.drawable.itunes)
.setContentTitle(mService.getCurrentMediaItem()?.mediaMetadata?.albumTitle ?: "")
.setContentText("${mService.getCurrentMediaItem()?.mediaMetadata?.subtitle} Episodes")
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setCategory(NotificationCompat.CATEGORY_TRANSPORT)

val artworkUri = mService.getCurrentMediaItem()?.mediaMetadata?.artworkUri

if (artworkUri != null) {
artworkUriMap[artworkUri] = notificationBuilder
loadImage(artworkUri)
} else {
notificationBuilder.setLargeIcon(
BitmapFactory.decodeResource(mService.resources, R.drawable.itunes)
)
}
val notification = notificationBuilder.build()
mNotificationManager?.notify(NOTIFICATION_ID, notification)
return notification
}

private fun loadImage(uri: Uri) {
albumArtFutureTarget?.cancel(true)
albumArtFutureTarget = Glide.with(this.mService.baseContext)
.asBitmap()
.load(uri)
.override(512, 512)
.placeholder(R.drawable.itunes)
.listener(object : RequestListener {
override fun onLoadFailed(e: GlideException?, model: Any?, target: Target, isFirstResource: Boolean): Boolean {
val notificationBuilder = artworkUriMap[model]
notificationBuilder?.setLargeIcon(
BitmapFactory.decodeResource(mService.resources, R.drawable.itunes)
)
mNotificationManager?.notify(NOTIFICATION_ID, notificationBuilder?.build())
return false
}

override fun onResourceReady(bitmap: Bitmap, model: Any, target: Target?, dataSource: com.bumptech.glide.load.DataSource, isFirstResource: Boolean): Boolean {
val notificationBuilder = artworkUriMap[model]
////===========HERE IS LOAD BITMAP===========
notificationBuilder?.setLargeIcon(bitmap)
mNotificationManager?.notify(NOTIFICATION_ID, notificationBuilder?.build())
return false
}
})
.submit()
}
SS-уведомление:
Изображение


Подробнее здесь: https://stackoverflow.com/questions/792 ... -pixilated
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»