android - MediaSession 在锁定屏幕上不显示背景

标签 android android-5.0-lollipop

我在 Lollipop 上使用 MediaSession 来控制播放。它似乎可以工作,因为我的 Android Wear 设备允许我控制播放,但是手机锁定屏幕没有显示来自 METADATA_KEY_ALBUM_ART_URI 的图像,Android Wear 上的背景也没有显示。我正在使用自己的自定义通知(不是媒体样式通知)。这是我的 MediaSession 代码。

if (mediaSession == null) {
            mediaSession = new MediaSession(this, TAG);


            mediaSession.setCallback(new MediaSessionCallback());
        }
        mediaSession.setFlags(MediaSession.FLAG_HANDLES_MEDIA_BUTTONS | MediaSession.FLAG_HANDLES_TRANSPORT_CONTROLS);

        MediaMetadata.Builder metadataBuilder = new MediaMetadata.Builder();
        metadataBuilder.putString(MediaMetadata.METADATA_KEY_TITLE, getMediaTitle());
        if (imageURL != null) {

            metadataBuilder.putString(MediaMetadata.METADATA_KEY_ALBUM_ART_URI, imageURL);
        }

        mediaSession.setMetadata(metadataBuilder.build());
        PlaybackState.Builder stateBuilder = new PlaybackState.Builder();
        stateBuilder.setActions(PlaybackState.ACTION_PLAY | PlaybackState.ACTION_PLAY_PAUSE | PlaybackState.ACTION_PAUSE | PlaybackState.ACTION_REWIND | PlaybackState.ACTION_FAST_FORWARD);

        stateBuilder.setState(playStateStatus == Paused ? PlaybackState.STATE_PAUSED : PlaybackState.STATE_PLAYING, PlaybackState.PLAYBACK_POSITION_UNKNOWN, 1.0f);

        mediaSession.setPlaybackState(stateBuilder.build());
        mediaSession.setActive(true);

谢谢。

最佳答案

看起来答案是使用 MediaMetadata.METADATA_KEY_ALBUM_ART 所以我不确定 METADATA_KEY_ALBUM_ART_URI 的意义是什么。

metadataBuilder.putBitmap(MediaMetadata.METADATA_KEY_ALBUM_ART, 位图);

关于android - MediaSession 在锁定屏幕上不显示背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28547024/

相关文章:

android - 如何即时更改android标签文本?

android - 在 AudioTrack.write 和 AudioFlinger.read 之间

android - 为什么在使用 InstrumentationRegistry.getContext().getString() 时会出现 Resources$NotFoundException?

android - 如何更改默认的 Android 书签图标?

android - 在 SDK 中看不到 android L

android - 是否有为所有用户卸载应用程序的 Intent ?

android - 在同一台设备上使用 NFC 激活设备所有者

android - 为什么在部署 Android 应用程序时 xalan.jar 崩溃 eclipse

android - Media Session Compat 未在 Pre-Lollipop 上显示锁屏控件

android - 在考虑向后兼容性的同时,为 Android Lollipop 创建媒体样式通知的最佳方法是什么?