theme: channing-cyan
Android6.0可使设备续航时间提升30%
应用权限管理
在Android6.0以前 权限管理是通过三方APP来实现管理,在Android6.0中该功能成为系统级
Doze电量管理
当手机静止不动一段时间后,会进入Doze电量管理模式,当=屏幕处于关闭状态时,平均续航时间可提高30%
权限机制
6.0之前
Android6.0系统默认为targetSdkVersion小于23的应用授予程序所申请的权限,如果targetSdkVersion小于23在6.0系统中是不会有问题的。
当在权限管理界面取消该App对应的权限,App运行时发现该权限为授予还是会进行弹框确认是否授权。
权限管理分为两类一种是不涉及用于隐私的权限,用户不能取消该类权限的授权;另外一种是涉及用于隐私的权限,需要进行用户弹框授权,同一权限组的一个权限被授权,该组内的其他权限也会自动被授权。
6.0及之后
将targetSdkVersion设置为23及23以上。
需要权限的地方需要进行权限的检测和申请权限的逻辑,权限允许和拒绝的回调通过onRequestPermissionResult告知开发者,当用户不在询问时,回调结果为最后一次用户的选择即拒绝。
权限监测通过ActivityCompat.checkSelfPermission传入对应的权限如果返回值为PackageManager.PERMISSION_GEANTED则代表该权限已被授予,
当用户选择不在询问时onRequestPermissionResult权限回调结果中通过ActivityCompat.shouldShowRequestRationale方法传入对应的权限如果返回false则代表用户选择的是不在询问
取消支持 Apache HTTP 客户端
Android 6.0 版移除了对 Apache HTTP 客户端的支持。如果您的应用使用该客户端,并以 Android 2.3(API 级别 9)或更高版本为目标平台,改用 HttpURLConnection 类。此 API 效率更高,因为它可以通过透明压缩和响应缓存减少网络使用,并可最大限度降低耗电量。
通知
移除了 Notification.setLatestEventInfo() 方法。请改用 Notification.Builder 类来构建通知。
音频管理器变更
不再支持通过 AudioManager 类直接设置音量或将特定音频流静音。setStreamSolo() 方法已弃用,您应该改为调用 requestAudioFocus() 方法。类似地,setStreamMute() 方法也已弃用,请改为调用 adjustStreamVolume() 方法并传入方向值 ADJUST_MUTE 或 ADJUST_UNMUTE。
Android 密钥库变更
Android 密钥库提供程序不再支持 DSA。但仍支持 ECDSA。
App Standby模式
允许系统在用户没有继续操作app的情况下,决定哪一个app是处于空闲状态。系统会通过监听用户在一段时间内,是否没有再操作app,来判定某一个app是否是处于空闲状态。当设备处于非充电状态,系统将会断开网络连接,并中断所有app的数据同步和工作(相当于认为设备是空闲的)。