gpt4 book ai didi

android - 在 MediaStyle 通知中禁用或隐藏搜索栏

转载 作者:行者123 更新时间:2023-12-02 20:47:33 24 4
gpt4 key购买 nike

尝试构建一个实时流媒体播放应用程序,28 及以下 sdk 中的媒体样式通知在没有任何搜索栏的情况下看起来不错,但在 Android 10(SDK 29)中运行相同的应用程序时,通知显示了额外的搜索栏,而我没有不需要,因为流是实时的,并且我正在使用默认的 exoplayer(exo 版本 2.10.8)行为进行缓存。

如何禁用或隐藏搜索栏?

尝试在通知生成器中进行以下设置:

.setProgress(0,0,true)

下面的通知 fragment :

    Notification notification = new Notification.Builder(this,Constant.CHANNEL_ID)
.setSmallIcon(R.drawable.ic_logo)
.setContentTitle(title)
.setContentText(message)
.setLargeIcon(artwork)
.addAction(new Notification.Action.Builder(
Icon.createWithResource(getApplicationContext(),playPauseResourceId),
"Play/Pause",
playPausePendingIntent).build())
.addAction(new Notification.Action.Builder(
Icon.createWithResource(getApplicationContext(),R.drawable.exo_icon_stop),
"Play/Pause",
stopPendingIntent).build())
.setStyle(new Notification.MediaStyle().setShowActionsInCompactView(0).setMediaSession(mediaSession.getSessionToken()))
.setSubText(subText)
.setContentIntent(pendingActivityIntent)
.setVisibility(Notification.VISIBILITY_PUBLIC)
.setProgress(0,0,true)
.build();

截图:

enter image description here

最佳答案

我也遇到了这个问题,但我使用的是NotificationCompat而不是exoplayer。
我按照Squti的回答找到了隐藏NotificationCompat的搜索栏的解决方案。

val mediaSession = MediaSessionCompat(context, "your tag")

//These two lines work
val mediaMetadata = MediaMetadata.Builder().putLong(MediaMetadata.METADATA_KEY_DURATION, -1L).build()
mediaSession.setMetadata(MediaMetadataCompat.fromMediaMetadata(mediaMetadata))

val token = mediaSession.sessionToken

val mBuilder = NotificationCompat.Builder(context, channelId)
.setStyle(androidx.media.app.NotificationCompat.MediaStyle()
.setMediaSession(token))

关于android - 在 MediaStyle 通知中禁用或隐藏搜索栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59443133/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com