我正在寻找为我正在制作的音乐应用创建媒体风格通知,但我还想让老用户(ICS up)保持原样。我希望它包含播放/暂停控件。
我能做到这一点的最佳方式是什么?我应该为Android Lollipop以下的任何人创建自定义通知并使用Android Lollipop的媒体样式通知吗?或者我应该继续为两者制作自定义通知?经过一些实验后,似乎无法使用NotificationCompat。
非常感谢任何例子。
答案 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通知,这有助于根据正在播放的媒体更新锁定屏幕图像。