Media Session Compat:前棒棒糖不同的锁屏行为

时间:2017-08-03 08:45:43

标签: android android-mediasession

我正在使用mediaSessionCompat在锁定屏幕上显示当前播放的音频。

从棒棒糖一切都很好但是在棒棒糖前我在Sony C6916 API 19上遇到了以下问题

enter image description here

正如您在上图中所看到的,锁屏背景没有改变。相反,它已经将我用于锁定屏幕的背景添加为播放音频的图像

我知道不同的Android设备会有不同的行为,但有人知道解决这个问题吗?

我将位图添加到元数据

  private void updateMediaSessionMetadataArtwork(Bitmap bitmap) {
    if (bitmap != null) {
        mediaMetadataBuilder.putBitmap(MediaMetadataCompat.METADATA_KEY_ART, bitmap);
        mediaSession.setMetadata(mediaMetadataBuilder.build());
    }
}

我知道可以通过METADATA_KEY_ALBUM_ARTMETADATA_KEY_DISPLAY_ICON传递的不同数据,但我最关心的是,如果这会覆盖允许它的设备上所需的锁定屏幕背景,那么我不确定是什么我可以在这里做,所以任何意见都会非常感激。

如果您需要有关我的实施的更多信息,请在评论中告诉我。

谢谢

1 个答案:

答案 0 :(得分:0)

不是一个完整的答案,但这是我在调查时的观察

因此,在测试了几个前棒棒糖设备,其中两个来自索尼,一个来自HTC。 我得出的结论是整个锁屏背景都无法替换,而是显示了一个像我的开场帖中那样的缩略图。

所以我所做的就是检查它是否像棒棒糖一样

     if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) 

然后加载MediaMetadataCompat.METADATA_KEY_ART

的不同位图

奇怪的是,即使在棒棒糖上,锁定屏幕背景的更改也可以是设备特定的。我注意到我的三星平板电脑有棒棒糖没有改变整个锁屏背景,但只是显示通知。

我通过检查每个案例中的Spotify应用程序进一步验证了这一点,我用它作为我的控件来检查我是否在正确的轨道上