Android6.0动态获取权限

来源:互联网 发布:政治经济类杂志 知乎 编辑:程序博客网 时间:2024/05/08 00:45

Android 6.0动态获取权限

Android 6.0在我们原有的AndroidManifest.xml声明权限的基础上,又新增了运行时权限动态检测

以下权限都需要在运行时判断:

  • 身体传感器
  • 日历
  • 摄像头
  • 通讯录
  • 地理位置
  • 麦克风
  • 电话
  • 短信
  • 存储空间

效果图

  • Android 6.0添加动态获取权限
    这里写图片描述

  • Android 6.0没有动态获取权限
    这里写图片描述

动态获取权限

每次在用到摄像头等,这样需要权限的操作的时候,都要动态判断一下权限

// 扫描功能if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {    //申请CAMERA权限    ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, 3);} else {    Intent openCameraIntent = new Intent(this, CaptureActivity.class);    startActivityForResult(openCameraIntent, 0);}

如果没有权限,会弹窗提示用户,由用户来决定,是否给予该权限

用户选择完以后,会执行下面的回调

@Overridepublic void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {    super.onRequestPermissionsResult(requestCode, permissions, grantResults);    if (3 == requestCode) {        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {            // 授权            Intent openCameraIntent = new Intent(this, CaptureActivity.class);            startActivityForResult(openCameraIntent, 0);        } else {            // 未授权        }    }}
0 0
原创粉丝点击