目录
- 前言
- 权限分类
- 使用
- MPermissions 的使用(第三方)
前言
现在手机越来越注重隐私这一块了,在一些敏感权限上,android 现在是动态获取,这里就是一个简单的笔记,详细的解析,推荐鸿洋_ Android 6.0 运行时权限处理完全解析
权限分类
- Normal Permissions
这类权限一般不涉及用户隐私,是不需要用户进行授权的,比如手机震动、访问网络等 - Dangerous Permission
一般是涉及到用户隐私的,需要用户进行授权,比如读取sdcard、访问通讯录等。
使用
1. 在AndroidManifest文件中添加需要的权限。
2. 检查权限
//如果没有权限
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.READ_CONTACTS)
!= PackageManager.PERMISSION_GRANTED) {
//在这里申请
}
3. 申请权限
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.READ_CONTACTS},
0);
处理权限回调
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if (requestCode == 0) {
if (grantResults[0] != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(this, "权限之前被清理了", Toast.LENGTH_SHORT).show();
}
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
MPermissions 的使用
注意
这里就说一点,如果你的AS 是3.0 的,那么引入框架的时候,就一点
annotationProcessor 'com.zhy:mpermission-compiler:1.0.0'
compile 'com.zhy:mpermission-api:1.0.0'
这样就可以了
最后
感谢作者鸿洋_
http://blog.csdn.net/lmj623565791/article/details/50709663