Android6.0特性

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);
}

@Override
public 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中处理权限结果的方法
@override
private void doSdcardPermission() {
//实现
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章