是的,我没有收到错误消息。
我已经在 AndroidManifest.xml
中定义了权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
我正在使用Android-Image-Cropper从外部存储器中提取图像,并且工作正常。
我很困惑,因为即使我没有编写任何代码来获取外部存储的运行时权限,它也能正常工作。
受测设备信息: -三星J8,操作系统-Andorid 9 Pie, -Nexus 5X模拟器=操作系统-Andorid 9 Pie
许可政策是否有变化?为什么它起作用?
答案 0 :(得分:0)
Here我在documentation中找到了答案:
从
Android 4.4 (API level 19)
开始,读取或写入文件 在您应用的私有外部存储目录中-使用getExternalFilesDir()
-不需要 READ_EXTERNAL_STORAGE 或 WRITE_EXTERNAL_STORAGE 权限。
我的项目不需要它,因为我的最低API级别为19。
因此,如果您的应用支持
Android 4.3 (API level 18)
及更低版本,并且 您只想访问私有外部存储目录, 应该声明仅在下层请求许可 添加maxSdkVersion
属性的Android版本:<manifest ...> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" /> ... </manifest>
谢谢。