Использование setProgress в построителе уведомлений не работает с уведомлением в стиле мультимедиа

Я пытаюсь использовать .setProgress() в NotificationBuilder, но кажется, что pogressBar не появится, если я использую MediaStyle:

NotificationCompat.Builder builder = new NotificationCompat.Builder(this,CHANNEL);

builder
  .setSmallIcon(R.drawable.logo)
  // more configuration
  .setStyle(new android.support.v4.media.app.NotificationCompat.MediaStyle()
               .setShowActionsInCompactView(1)
               // more config
               .setMediaSession(mediaSession.getSessionToken()))

if(isBuffering){
  builder.setProgres(0,0, true);
}

Если я удалю .setStyle, индикатор выполнения появится, как и предполагалось, но с MediaStyle его не будет.

Кто-нибудь знает, есть ли способ сделать оба совместимыми?

Спасибо


person agmezr    schedule 20.08.2019    source источник


Ответы (1)


Тот же вопрос, теперь я могу установить максимальную продолжительность на панели поиска

    mMediaPlayer?.setOnBufferingUpdateListener { mp, percent ->
        if (percent == 100){
            val mediaMetadata = MediaMetadata.Builder().putLong(MediaMetadata.METADATA_KEY_DURATION, mp.duration.toLong()).build()
            mediaSession.setMetadata(MediaMetadataCompat.fromMediaMetadata(mediaMetadata))
            return@setOnBufferingUpdateListener
        }
    }

но он появится после завершения буферизации, довольно хромой

person Thành Thỏ    schedule 26.05.2020