繁体   English   中英

Android NowPlaying MediaSession 锁屏(三星)

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM