Android 5.0可能影响开发者的特性简介
此文内容整理自Android官网。做个人笔记用。
一.声音和振动如果当前使用的Ringtone,MediaPlayer或Vibrator类向通知中添加声音和振动,则移除此代码,以便系统可以在“优先”模式中正确
显示通知。取而代之的是,使用Notification.Builder方法添加声音和振动。
将设备设为RINGER_MODE_SILENT可使设备进入新的优先模式。如果将设备设为RINGER_MODE_NORMAL和RINGER_MODE_VIBRATE,则设备将退出优先模式。
以前,Android使用STREAM)MUSIC作为主流式传输来控制平板电脑设备上的音量。在Android 5.0中,手机和平板电脑设备的主音量流式传输现已合并,由STREAM_RING或STREAM_NOTIFICATION进行控制。
二.RemoteControlClient
RemoteControlClient类现已弃用。新的API为MediaSession。
Android 5.0中的锁定屏幕不会为MediaSession或RemoteControlClient显示传输控件。不过可以通过一个通知从锁定屏幕提供媒体播放控件。这让应用可以对媒体按钮的显示进行更多控制,同时为使用锁定设备和未锁定设备的用户提供一致的体验。
为实现上述目的,Android 5.0引入了一个新的Notification.MediaStyle模板。Notification.MediaStyle将使用
Notification.Builder.addAction()添加的通知操作转换为精简按钮,嵌入到应用的媒体播放通知中。将您的会话令牌传递到
setSession()方法以告知系统该通知控制进入中的媒体会话。
请务必将通知的可见性设为VISIBILITY_PUBLIC,以将通知标记为安全,从而显示在任何锁定屏幕上(以安全方式或其他方式)。如需了解详细信息,参阅锁定屏幕通知。
要让应用在Aandroid TV 或Wear平台上运行时显示媒体播放控件,则实现MediaSession类。如需要在Android设备上接收媒体按钮事件还应实现MediaSession。
三.自定义权限的唯一性要求
Android应用可以定义以专有方式管理组件访问权限的自定义权限,无需使用平台预定义的系统权限。应用在其清单文件中声明的
<permission>元素中定义自定义权限。