android6.0动态权限设置

android6.0后就需要手动获取权限。主要有以下步骤:

1、在menifests文件加入相应权限,如:


2、检查是否已经获取到权限,主要针对android6.0及以上

  if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
      // 没有照相机权限,去请求系统获取权限
      ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, CAMERA_OK);
   }else{
      // 已经有相机权限
   }

3、得到系统权限返回

    @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode) {
            case CAMERA_OK:
                if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                    // 有权限

                } else {
                    // 没有权限
                    Toast.makeText(ScanningActivity.this, "您没有开启相机权限", Toast.LENGTH_SHORT).show();
                }
                break;
            default:
                break;
        }
    }
完毕!


你可能感兴趣的:(android技术知识)