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

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

我想为我正在创建的音乐应用程序创建媒体样式通知,但我也想记住较老的 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/

相关文章:

java - Java 中 Intent 之间的困难 (Android Studio)

Android 拖放和组件的可见性

php - Azure 通知中心 PHP

ios - 如果用户禁用了应用程序的推送,是否可以进行静默远程通知?

安卓媒体播放器 : How can I listen for media player events?

java - 多次按下按钮时如何使声音重叠?

java - 如何在显示对话框 Android 之前设置超时?

android - Facebook Open Graph - 带有自定义对象类型的标准 Action og.likes

android - Parse.com 推送通知收件箱或应用程序中的历史记录

Android 如何拦截状态栏通知?