android6.0 一些动态权限申请

Android 6.0系统权限的动态申请。

由于android 6.0的动态权限问题,导致一些功能,不能正常使用,有时还伴随着app崩溃。

解决这个功能必须要动态申请权限,用户取得权限,才能正常使用。流程代码大致如下,这里动态申请两个权限,一个是相机权限,一个是麦克风权限。

//先判断是否是大于22的android 版本  
 if (Build.VERSION.SDK_INT>22){
  //先判断有没有权限
//android.Manifest.permission.CAMERA和android.Manifest.permission.RECORD_AUDIO
            if (ContextCompat.checkSelfPermission(this,
                    android.Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED|| ContextCompat.checkSelfPermission(this,
                    android.Manifest.permission.RECORD_AUDIO)!= PackageManager.PERMISSION_GRANTED){
                //没有就在这里进行权限的申请,后面是个数组可以申请多个
                ActivityCompat.requestPermissions(this,
                        new String[]{android.Manifest.permission.CAMERA,android.Manifest.permission.RECORD_AUDIO},1);

            }else {
                //说明已经获取权限了 想干嘛干嘛
            
            }
        }else {
//这个说明系统版本在6.0之下,不需要动态获取权限。
          
        }

以上是动态申请权限。

   @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        switch (requestCode){
            case 1:
               //权限获取成功后执行回调
                break;
        }
    }

至此,什么动态权限都能参考此代码,如有其它问题,可以留言告诉我。

你可能感兴趣的:(android)