Java android在本地存储上打开文件时出现EACCES权限被拒绝错误

Java android在本地存储上打开文件时出现EACCES权限被拒绝错误,java,android,android-6.0-marshmallow,android-permissions,Java,Android,Android 6.0 Marshmallow,Android Permissions,我使用SU拍摄了一个屏幕截图,并将其保存在我的应用程序目录的/files/screenshot.jpg中。我进入并将权限更改为rw-rw。接下来,我尝试使用这个库https://github.com/ArthurHub/Android-Image-Cropper打开图片进行裁剪。这在棒棒糖和之前都有效,但在棉花糖中失败了。我确信这与marshmallow中的新权限处理有关(不过目前的目标是v19)。我不断得到: /data/user/0/com.xlilcasper.perkolator/fil

我使用SU拍摄了一个屏幕截图,并将其保存在我的应用程序目录的
/files/screenshot.jpg
中。我进入并将权限更改为
rw-rw
。接下来,我尝试使用这个库
https://github.com/ArthurHub/Android-Image-Cropper
打开图片进行裁剪。这在棒棒糖和之前都有效,但在棉花糖中失败了。我确信这与marshmallow中的新权限处理有关(不过目前的目标是v19)。我不断得到:

/data/user/0/com.xlilcasper.perkolator/files/screenshot.jpg: open failed: EACCES (Permission denied)
我似乎找不到访问我自己的应用程序目录中的文件所需的任何权限。为了确保我确实要求:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

还有其他想法吗?

在Marshmellow上,您应该为读写请求运行时权限。或者转到应用程序的设置并手动将其设置为打开。您如何获取路径?context.getFilesDir()我已经请求了权限。在Marshmellow上,您应该请求读取和写入的运行时权限。或者转到应用程序的设置并手动设置。如何获取路径?context.getFilesDir()我已经请求了权限。
requestPermissions(
                    activity,
                    PERMISSIONS_STORAGE,
                    REQUEST_EXTERNAL_STORAGE);