6.0以后分出了危险权限,危险权限需要动态申请,他们分了组,如果申请了组内的某个权限,那么整个组的权限都会被授予
危险权限组.jpg
主要也就几个方法,方法懂了,剩下的就是逻辑了,先看几个重要的方法:
检查权限方法:
//第一个参数Context,第二个参数需要检查的权限
//被授权返回0,否则返回-1
PermissionChecker.checkSelfPermission(mContext, permission);
通常都这么写:
// true 表示授权 false表示没有授权
//PackageManager.PERMISSION_GRANTED值为0
PermissionChecker.checkSelfPermission(mContext, permission) == PackageManager.PERMISSION_GRANTED;
这里另外列出MIUI的权限检查方法,因为上面的方法对于MIUI不管用
//就是要这么写,Process是进程工具类,获的进程的一些信息
//被授权返回0,否则返回-1
PermissionChecker.checkPermission(mContext, permission, Process.myPid(), Process.myUid(), mContext.getPackageName())
申请权限方法:
//在activity中