[英]Android NowPlaying MediaSession Lock Screen (Samsung)
我正在开发基于 ExoPlayer 的音频应用程序,我已经为通知中心和锁定屏幕中的 NowPlaying 栏实现了 MediaSession 控件。
通知中心的 NowPlaying 栏适用于每部手机,但在某些三星手机 (Android 11) 上,NowPlaying 栏在锁定屏幕上不可见。
有谁知道如何解决这个问题? 我正在尝试解决这个问题一个星期,但没有任何效果......
我上周看到了这个问题,并用下面的代码解决了
MediaSessionCompat mediaSession = new MediaSessionCompat(this, MEDIA_SESSION_TAG);
mediaSession.setActive(true);
mediaSession.setMetadata(
new MediaMetadataCompat.Builder()
.putString(MediaMetadata.METADATA_KEY_TITLE, title)
.putString(MediaMetadata.METADATA_KEY_ARTIST, author)
.build()
);
添加如下通知代码,或者只为 MediaStyle 添加.setMediaSession(mediaSession.getSessionToken()))
Notification notification = new NotificationCompat.Builder(this, CHANNEL_ID)
.addAction(iconFavorite, "favorite", pendingFavoriteIntent)
.addAction(R.drawable.ic_notification_prev, "prev", pendingPrevIntent)
.addAction(iconPlayPause, titlePlayPause, pendingToggleIntent)
.addAction(R.drawable.ic_notification_next, "next", pendingNextIntent)
.addAction(R.drawable.ic_close, "cancel", pendingCancelIntent)
.setStyle(new androidx.media.app.NotificationCompat.MediaStyle()
.setShowActionsInCompactView(1, 2, 3)
.setShowCancelButton(true)
.setMediaSession(mediaSession.getSessionToken()))
.setSmallIcon(R.drawable.ic_notification_play)
.setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
.setVibrate(new long[]{0L})
.setPriority(NotificationCompat.PRIORITY_MAX)
.setContentTitle(title)
.setContentText(author)
.setSubText(title)
.setContentIntent(selectPendingIntent)
.setLargeIcon(bm)
.build();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.