本文共 1091 字,大约阅读时间需要 3 分钟。
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 { // 未授权 } }}