Я использую MediaSessionService для воспроизведения потокового аудио в фоновом режиме.
уведомление отображается, но у него есть панель поиска, которую я хочу удалить.
Отключить или скрыть панель поиска в уведомлениях MediaStyle
в этом сообщении говорится, что нужно добавить putLong(MediaMetadata.METADATA_KEY_DURATION, -1L)
что я не могу сделать, потому что в Media3 МедиаМетаданные
val builder = MediaMetadata.Builder().apply {
setStation (args.name)
setDisplayTitle(args.name)
setSubtitle(getString(R.string.radio_notification_description, args.name))
setArtworkUri(args.logoUrl?.toUri())
setIsBrowsable(false)
}
val media = MediaItem.Builder().setMediaId(url).setMediaMetadata(builder.build()).build()
controller.setMediaItem(media)
controller.prepare()
controller.play()
Я тоже создал это, но не знаю, как его отсюда удалить.
@UnstableApi
class CustomMediaNotificationProvider(private val context: Context) : MediaNotification.Provider {
override fun createNotification(
mediaSession: MediaSession,
customLayout: ImmutableList,
actionFactory: MediaNotification.ActionFactory,
onNotificationChangedCallback: MediaNotification.Provider.Callback
): MediaNotification {
// val notification = NotificationCompat.Builder(context, defaultMediaNotification.notification).build()
// return MediaNotification(defaultMediaNotification.notificationId,notification)
val defaultMediaNotificationProvider = DefaultMediaNotificationProvider.Builder(context)
return defaultMediaNotificationProvider.build().createNotification(mediaSession, customLayout, actionFactory, onNotificationChangedCallback)
}
override fun handleCustomCommand(
session: MediaSession,
action: String,
extras: Bundle
): Boolean {
return true
}
}
или здесь:
@RequiresApi(Build.VERSION_CODES.O)
override fun onUpdateNotification(session: MediaSession, startInForegroundRequired: Boolean) {
super.onUpdateNotification(session, startInForegroundRequired)
Подробнее здесь: https://stackoverflow.com/questions/770 ... tification