先说一下我是使用到了照相功能还有调用相册的时候出现的此问题。首先需要给大家说明一下这个问题是Android 10之后才出现的,Android10之前是不会出现这种问题的,这里主要说的不是动态申请访问文件的权限问题。因为我已经动态申请了权限,并且在获得权限后存储文件报的这个错误。
解决办法:
权限申请之后只需要在AndroidManifest.xml文件的application 标签下 加一条属性
android:requestLegacyExternalStorage="true" 即可解决 其他权限顺便也贴出来在配置文件中添加:
-
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
-
<!--在sdcard中创建/删除文件的权限 -->
-
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"
-
tools:ignore="ProtectedPermissions" />
动态申请权限如下: if (Build.VERSION.SDK_INT >= 23) { int REQUEST_CODE_CONTACT = 101; String[] permissions = { Manifest.permission.WRITE_EXTERNAL_STORAGE}; //验证是否许可权限 for (String str : permissions) { if (LocalActivity.this.checkSelfPermission(str) != PackageManager.PERMISSION_GRANTED) { //申请权限 LocalActivity.this.requestPermissions(permissions, REQUEST_CODE_CONTACT); return; } else { //这里就是权限打开之后自己要操作的逻辑 } } } 希望能够帮到遇到同样问题的小伙伴们。