欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于Android 6.0动态申请读写权限

程序员文章站 2024-01-21 22:54:40
...

希望这篇文章可以帮助到正好需要的你。

 

定义要申请的权限:

private static String[] PERMISSIONS_STORAGE = {
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE};
private static int REQUEST_CODE = 1;

判断当前版本:

 //判断当前版本
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_CODE);//requesrCode
            } else {
                Log.d(TAG, "已有权限");
            }
        } else {
            Log.d(TAG, "小于 6.0");
        }

 

权限的回调:

@Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == REQUEST_CODE) {
            for (int i = 0; i < permissions.length; i++) {
                if (grantResults[i] == 0) {
                    Log.d(TAG, "获取权限成功");
                    perSucceed();
                } else {
                    Log.d(TAG, "获取权限失败");
                    ToastUtils.showToast(mContext, "权限被拒绝,连接USB设备终止");
                }
            }
        }
    }