一、闲聊几句
换工作了,所以接手了一个13年的老项目,APP的对应版本是API22,这么久不升级我猜测是为了绕过Android6.0的权限问题。嗯,现在各大平台都得强制升级到 Android 8.0或者Android9.0,所以有这篇文章。至于为什么这个APP不直接适配到Android9.0,我也不知道...
下面升级的都是些简单的概述,给各位做个参考;具体详细的代码啥的,大兄弟们Google吧。
二、升级过程
1.API等级23:Android 6.0 Marshmallow
1.1.运行时权限
用户可直接在运行时管理应用权限。这种模式让用户能够更好地了解和控制权限。
处理方式:清单文件中注册所需要的权限(Normal和Dangerous),引入三方库RXPermission,并且按需申请Dangerous权限。
1.2.通知栏
此版本移除了 Notification.setLatestEventInfo() 方法。
处理方式:8.0重新设计了通知,一起解决
1.3.AudioManager类
音频管理器变更不再支持通过 AudioManager 类,直接设置音量或将特定音频流静音。setStreamSolo() 方法已弃用,应该改为调用 requestAudioFocus() 方法。类似地,setStreamMute() 方法也已弃用,改为调用 adjustStreamVolume()