为什么PlayerNotificationManager在Android 11(R)中的startForeground上不显示通知?

为什么PlayerNotificationManager在Android 11(R)中的startForeground上不显示通知?,android,android-notifications,exoplayer,Android,Android Notifications,Exoplayer,我正在将PlayerNotificationManager与Exoplayer一起使用,并且在startForeground()上可以看到高达Android 10的通知托盘,但在我的一部手机中,当我升级到Android 11时,media player的通知托盘停止显示 请帮忙 我现在在Google Pixel上调试: 在谷歌像素安卓11上工作,但在三星G973F上没有。 为什么这在三星上不起作用???给你,我还没有测试过,但我认为这会起作用 // Create a media session.

我正在将PlayerNotificationManager与Exoplayer一起使用,并且在startForeground()上可以看到高达Android 10的通知托盘,但在我的一部手机中,当我升级到Android 11时,media player的通知托盘停止显示

请帮忙

我现在在Google Pixel上调试:

在谷歌像素安卓11上工作,但在三星G973F上没有。
为什么这在三星上不起作用???

给你,我还没有测试过,但我认为这会起作用

// Create a media session. NotificationCompat.MediaStyle
// PlayerService is your own Service or Activity responsible for media playback.  
val mediaSession = MediaSessionCompat(this, "PlayerService")

// Create a MediaStyle object and supply your media session token to it. 
val mediaStyle = Notification.MediaStyle().setMediaSession(mediaSession.sessionToken)

// Create a Notification which is styled by your MediaStyle object. 
// This connects your media session to the media controls. 
// Don't forget to include a small icon.
val notification = Notification.Builder(this@PlayerService, CHANNEL_ID)
        .setStyle(mediaStyle)
        .setSmallIcon(R.drawable.ic_app_logo)
        .build()

// Specify any actions which your users can perform, such as pausing and skipping to 
the next track. 
val pauseAction: Notification.Action = Notification.Action.Builder(
        pauseIcon, "Pause", pauseIntent
    ).build()
notification.addAction(pauseAction)
检查此链接以获取完整的指南

给你,我还没有测试过这个,但我认为它会起作用

// Create a media session. NotificationCompat.MediaStyle
// PlayerService is your own Service or Activity responsible for media playback.  
val mediaSession = MediaSessionCompat(this, "PlayerService")

// Create a MediaStyle object and supply your media session token to it. 
val mediaStyle = Notification.MediaStyle().setMediaSession(mediaSession.sessionToken)

// Create a Notification which is styled by your MediaStyle object. 
// This connects your media session to the media controls. 
// Don't forget to include a small icon.
val notification = Notification.Builder(this@PlayerService, CHANNEL_ID)
        .setStyle(mediaStyle)
        .setSmallIcon(R.drawable.ic_app_logo)
        .build()

// Specify any actions which your users can perform, such as pausing and skipping to 
the next track. 
val pauseAction: Notification.Action = Notification.Action.Builder(
        pauseIcon, "Pause", pauseIntent
    ).build()
notification.addAction(pauseAction)
检查此链接以获取完整的指南

在这里,我提出了git ExoPlayer的问题,这是一个特定于设备的问题, 那么这就是这个问题的联系,

将MediaSessionConnector与ExoPlayer PlayerNotificationManager和MediaSessions一起使用:

这里更简单地介绍了MediaSession和MediaSessionConnector的用法:


在这里,我提出了git ExoPlayer的问题,这是一个特定于设备的问题, 那么这就是这个问题的联系,

将MediaSessionConnector与ExoPlayer PlayerNotificationManager和MediaSessions一起使用:

这里更简单地介绍了MediaSession和MediaSessionConnector的用法:


要使媒体控件显示在通知托盘中,您需要在“设置”中为每个应用打开播放通知!检查此链接。已访问,通知播放已打开检查我的答案,如果此帮助不存在,请告诉我,我将为您进行更多搜索。好的,让我试试您的回答要使媒体控件显示在通知栏中,您需要在设置中为每个应用打开播放通知!检查此链接。已访问,通知播放已打开检查我的答案,如果此帮助不存在,请告诉我,我将为您进行更多搜索。好的,让我试试您的回答我正在使用exoplayer“PlayerNotificationManager”,它已在内部执行您在此处提到的代码检查您是否使用最新版本的lib!?您也可以向github的expo player报告此情况!我正在使用exoplayer“PlayerNotificationManager”,它已经在内部执行了您在这里提到的代码检查您是否正在使用最新版本的lib!?您也可以向github的expo player报告此情况!