Android - 6.0权限适配

老婆保佑,代码无BUG

目录

  • 前言
  • 权限分类
  • 使用
  • 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 的使用

GitHub 地址

注意

这里就说一点,如果你的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

你可能感兴趣的:(Android - 6.0权限适配)