Android6.0特性

来源:互联网 发布:数据按条件变色 编辑:程序博客网 时间:2024/06/04 18:44

Android6.0新特性

本博客为某在线教学网站课程笔记

电源管理

● App Standby(应用待机)

检测:当设备不充电时,且在这时间用户没有直接或者间接的启动该应用。

退出:应用被激活时,或者设备充电时,系统将应用移除此状态。

所以在android6.0后台的应用很容易被回收

● Doze(状态)

检测:当设备不充电时,且当设备静止且灭屏一段时间。

周期:平台尝试让系统处于休眠状态,周期性的进入在一个维持窗口回复正常工作,然后进入一个更长状态的。

希望应用之间的联系,弱化与APP与浏览器的交互,强化APP之间的连接。

简单地说没就是,A APP提供一个跳转的规则,B APP按照这个规则跳转到A App,如果用户没有安装APP那么就会提供一个下载安装地址,这大大提高的用户体验。

比如我们在微博中看到微信的推广广告,我们点击广告,如果此时用户安装了微信则直接跳转到微信,如果没有安装则提供一个安装链接。

指纹识别

6.0之前,各大手机厂商自己定制指纹识别API。

6.0开始提供相应的API

应用权限管理

运行时权限,就是当使用到某个权限时会弹出提示框询问用户时候授予权限。

查看危险性权限

adb shell pm list permissions -d -g

封装Android6.0 Permission

在BaseActivity中添加

/*** 为子类提供一个权限检查方法 * @param permissions* @return*/public boolean hasPermission(String... permissions){for (String permission:permissions){    if (ContextCompat.checkSelfPermission(this,permission)!=            PackageManager.PERMISSION_GRANTED){        return false;    }}return true;}/** * 为子类提供权限请求方法 * @param code * @param permissions */public void requestPermission(int code,String... permissions) {    ActivityCompat.requestPermissions(this, permissions, code);}@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {switch (requestCode){    case 100:        doSdcardPermission();        break;  }}/** * 默认的写SD权限处理 */private void doSdcardPermission() {}

在继承BaseActivity的Activity中需要请求SD权限的地方写

if (hasPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)){    //do}else {    requestPermission(100,Manifest.permission.WRITE_EXTERNAL_STORAGE);}并且重写baseActivity中处理权限结果的方法@overrideprivate void doSdcardPermission() {//实现}
0 0