我想为我正在创建的音乐应用程序创建媒体样式通知,但我也想记住较老的 Android 用户 (ICS up)。我希望它包含播放/暂停控件。
我能做到这一点的最佳方式是什么?我应该为 Android Lollipop 以下的任何人创建自定义通知并为 Android Lollipop 使用媒体样式通知吗?还是我应该继续为两者制作自定义通知?经过一些实验后,似乎无法使用 NotificationCompat。
任何示例将不胜感激。
最佳答案
虽然这两种方法都可行,但我建议使用第一种方法。根据列出的注释 here,看起来并不打算很快将 MediaStyle 支持添加到 NotificationCompat。 ,其中指出:
Note: The template and the addAction() method are not included in the support library, so these features run in Android 5.0 and higher only.
在我的例子中,我有一个标识 API 级别的 bool 值:
boolean mIsLollipopOrAbove = Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP;
当需要发出通知时,我只是检查一下,然后使用自定义通知或根据用户运行的 Android 版本构建 MediaStyle 通知。为了支持锁屏控件,我使用了最新版本的支持库并与 MediaSessionCompat 交互,当 Lollipop 之前的设备需要时,它仍将在后台使用 RemoteControlClient。您可以将 MediaSessionCompat 的 token 传递给 MediaStyle 通知,这有助于根据正在播放的媒体更新锁定屏幕图像。
关于android - 在考虑向后兼容性的同时,为 Android Lollipop 创建媒体样式通知的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26467432/