Android 12中读写SD卡,提示Operation not permitted问题处理

1、问题原因:

安卓11开始,强化了对SD卡读写的管理,引入了MANAGE_EXTERNAL_STORAGE权限,而之前的WRITE_EXTERNAL_STORAGE已经失效了。

并且MANAGE_EXTERNAL_STORAGE权限只能跳转设置页面申请。

2、解决方案

1、添加 <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
2.判断是否有MANAGE_EXTERNAL_STORAGE权限,如果没有跳转设置界面申请。

3.如果有则直接进行读写

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
                if (!Environment.isExternalStorageManager()) {
                    Intent intent = new Intent(Settings.ACTION_MANAGE_ALL_FILES_ACCESS_PERMISSION);
                    startActivity(intent);
                    return;
                }
               //TODO 读写
                return;
}

猜你喜欢

转载自blog.csdn.net/banzhuantuqiang/article/details/141467626