Android6.0权限管理 没你想的那么难
2017-04-22 本文已影响107人
明朗__
前言:
Android6.0已经出来蛮久的了,每次面试的时候也会问到关于Android 6.0的新特性,然而我每次就一句话回答(“增加了权限的动态管理”) 看面试官欲言又止的样子... 哎 不说了 如果再说详细点offer说不定就是你的了
介绍:
关于介绍 网上一大片的陈词滥调 重复一遍又一遍这里给出google官网的关于6.0权限变更的介绍 大家自行查看
Android 6.0 变更
重点:
- Android 6.0(API 级别 23)将权限分为normal、dangerous、signature和signatureOrSystem四个等级 我们只需要了解前面2种权限:
正常权限 比如获取网络状态:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
危险权限
通过adb命令可以查看
$ adb shell pm list permissions -d -g
![](https://img.haomeiwen.com/i2158254/53b964ecd010a3a7.gif)
- 检查是否已经授权
/*
*this 申请授权的Activtiy
*permiss 申请授权权限 可以是多个权限
*/
PermissionsUtil.hasPermission(this, permiss)
- 申请授权操作
/**
*this 申请授权的Activtiy
*PermissionListener 授权回调接口
*permiss 申请授权权限 可以是多个权限
*true 授权失败是否显示Dialog
*info 显示授权失败Dialog弹窗内容
/
PermissionsUtil.requestPermission(this, new PermissionListener(), permiss, true, info);
- 监听授权接口
public interface PermissionListener {
/**
* 授权成功
*/
void permissionGranted();
/**
* 授权失败
*/
void permissionDenied(String[] permission);
}