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

时间:2014-10-20 13:56:20

标签: android notifications android-mediaplayer android-5.0-lollipop

我正在寻找为我正在制作的音乐应用创建媒体风格通知,但我还想让老用户(ICS up)保持原样。我希望它包含播放/暂停控件。

我能做到这一点的最佳方式是什么?我应该为Android Lollipop以下的任何人创建自定义通知并使用Android Lollipop的媒体样式通知吗?或者我应该继续为两者制作自定义通知?经过一些实验后,似乎无法使用NotificationCompat。

非常感谢任何例子。

1 个答案:

答案 0 :(得分:1)

虽然两者都有效,但我建议使用第一种方法。根据列出的here注释,它似乎不打算在短期内向NotificationCompat添加MediaStyle支持,其中指出:

  

注意:模板和addAction()方法不包含在支持库中,因此这些功能仅在Android 5.0及更高版本中运行。

就我而言,我有一个标识API级别的布尔值:

    boolean mIsLollipopOrAbove = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;

当发出通知时,我只是检查并根据用户运行的Android版本使用自定义通知或构建MediaStyle通知。为了支持锁屏控制,我使用最新版本的支持库并与MediaSessionCompat进行交互,当前Lollipop设备需要时,它仍然会使用RemoteControlClient。您可以将MediaSessionCompat的令牌传递给MediaStyle通知,这有助于根据正在播放的媒体更新锁定屏幕图像。