kongqw

这里没有教程!!!

Android6.0动态获取权限

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);
}

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

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

@Override
public 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 {
            // 未授权
        }
    }
}
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/q4878802/article/details/50419004
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭