1)Runtime Permission
在这个版本中,用户可以直接在运行时对应用权限进行管理。
在您的app中,需要在运行时对权限进行请求。
使用checkSelfPermission方法检查您的app是否有一个权限。
使用requestPermission方法来请求一个权限。
2)Doze and App Standby
Doze(假死):当设备未插电,处于静止状态且锁屏,一段时间后设备会进入Doze状态,
它试图保持系统处于睡眠状态。在Doze状态中,设备会周期性的短暂恢复正常状态,以执行
挂起操作。
App Standby(挂起):挂起允许系统决定,在用户不主动使用app时,app是空闲的。当用户
在一段时间后不碰app后系统会确定这个app空闲了。如果设备没插电,系统会停止这个app的
网络访问并挂起异步任务。(注意以下情况不会进入idle状态:用户主动启动app,app在前台运行,
app发了通知到锁屏界面或者通知栏)
3)Apache HTTP Client Removal
删除了Apache HTTP client支持。使用HttpURLConnection替代。
如果想继续使用Apache HTTP APIs,你需要在build.gradle文件中加入以下代码:
android { useLibrary 'org.apache.http.legacy' }
4)BoringSSL
BoringSSL是谷歌基于OpenSSL给Android定制的版本。
如果您使用了NDK,请不要链接与NDK API冲突的加密库,例如libcrypto.so 和libssl.so,这回导致意外
的崩溃,并将你自己暴露在安全攻击中。
5)Access to Hardware Identifier
WifiInfo.getMacAddress() 和 BluetoothAdapter.getAddress()将返回固定值02:00:00:00:00:00
6)Notification
使用Notification.Builder来代替Notification.setLatestEventInfo方法,后者已被删除。
7)AudioManager Changes
通过AudioManager静音,调节音量的功能已删除。
setStreamSolo() -> requestAudioFocus()
setStreamMute() -> adjustStreamVolume()
8)Text Selection
用户选择文本内容是,你可以将复制,粘贴等动作选项加入到悬浮菜单中。
9)Browser Bookmark
关闭了全局书签,app需要将书签数据存储在自己的数据文件夹中。
10)Keystore Changes
删除了DSP支持
11)Wi-Fi and Networking Changes
WifiConfiguration对象只有创建者有权限修改。
12)Camera Service Changes
获取摄像头服务从原来的先到先得改为现在的高优先级先得的方式。
(1)用户可见或者前台的活动一般会有较高的优先级
(2)高优先级的app可以强占低优先级的app正在使用的摄像头服务,此时,onError 或 onDisconnected将被调用
(3)可同时打开不同的摄像头硬件,但是会对象能有很严重的影响。
(4)当用户账户切换后,之前的访问会被终止
13)Runtime
对ART Runtime进行了优化,改了些bug(... ...)
14)APK Validation
清单文件中定义的文件在包里没有时会被认为安装包损坏,而且删除内容后必须重新签名
15)USB Connection
现在将设备通过 USB 连接到电脑,可以选择默认的「仅充电」方式,也可以在其他数据传输方式中进行选择。
*自己翻译 请大神们多多指正!