android6.0(API23)有一些新特性,下面就简单介绍下:
1. Runtime permission(运行时权限)
使用checkSelftPermission()判断是否已经权限授权,如果需要请求权限可以使用requestPermissions().
主要是保护用户隐私和系统完整性,Android以一种有限访问沙箱模型运行应用,如果应用需要使用沙箱外边资源或者信息
应用必须明确的请求权限。根据权限请求类型,权限可以自动授予或者询问用户授予权限。
在Manifest中声明使用的权限
在运行时请求权限
2. Doze and App standby模式
节约电量的
如果用户拔掉设备电源并且离开设备,屏幕关掉后经过一段时间设备就进入了Doze模式,在这个模式,设备周期性地进行小段时间的resume 正常操作,
保证app能够同步和系统执行任何pending操作。App standby 允许系统决定应用idle当用户没有使用它时。当用户不touch屏幕一段时间后系统就做出该决定。设备
如果拔电了系统就disable网络和suspends同步jobs。
3. Apache Http client removal
android 6.0 已经删除了Apache Http client的支持,如果使用需要向使用第三方jar一样。
4. BoringSSL
放弃OpenSSL 类库,替代为BoringSSL类库。
5. Access to Hardware Identifier
WifiInfo.getMacAddress() BluetoothAdapter.getAddress()方法返回非真实值。
6. Notifications
通知需要使用Notification.Builder。