我现在遇到的问题是,在小米手机以及平板上(目前不知道还有没有其他牌子手机会这样)调用拍照或是相册选择图片之后进行裁剪,裁剪之后提示:保存时发生的错误,保存失败。你的裁剪保存失败问题,可以在这里看看,一定能够解决你的问题的。解决不了我吃***
这个问题困扰了我很久,首先是拍照的时候存储在私有目录上
File filesDir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);是可以存储使用的,但是在裁剪之后,我想要保存在同样的位置的话就会报错。
报错如下:
java.lang.SecurityException: Permission Denial: writing androidx.core.content.FileProvider uri content://com.xxx.xxx.xxxx.fileprovider/root_path/storage/emulated/0/Android/data/com.xxx.xx.xxx/files/Pictures/temp_2.jpg from pid=17059, uid=10123 requires the provider be exported, or grantUriPermission()。
java.lang.SecurityException: Permission Denial: writing androidx.core.content.FileProvider uri content://com.xxx.xxx.xxx.fileprovider/root_path/storage/emulated/0/Android/data/com.xxx.xxx.xxx/files/Pictures/temp_2.jpg from pid=17059, uid=10123 requires the provider be exported, or grantUriPermission()
然后你就会发现一直用不了,但是如果你存入到公共目录上
File filesDir = Environment.getExternalStorageDirectory();
在Android 10.0以下可以使用,到Android 10.0以上就不允许使用了。然后你就会报错:
java.io.FileNotFoundException: /storage/emulated/0/temp_2.jpg: open failed: EACCES (Permission denied)
找不到当前这个文件。我百度了很多,看到博主这这样解决的。

我后面就想了下,这样根本解决不了问题呀,放在公共目录。Android的版本上去了之后还是用不了。
不行,我还是得继续AI查找相关问题,但是问题都是一样的啊,搞得我都有郁闷了,搞了一天多都没解决这个问题。然后我就开始慢慢一步一步开始捋一下思路,从头开始分析:
这个错误 java.lang.SecurityException: Permission Denial 是由于 FileProvide


1291

被折叠的 条评论
为什么被折叠?



