读取或写入外部存储权限:为什么没有错误?

READ or WRITE EXTERNAL STORAGE permission : WHY NO ERROR?

是的,我没有收到错误。

我在 AndroidManifest.xml

中定义了权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我正在使用 Android-Image-Cropper 从外部存储中获取图像并且工作正常。

我很困惑,因为即使我没有编写任何代码来获取外部存储的 运行 时间许可,它也能正常工作。

测试设备信息: - 三星 J8,OS - Andorid 9 Pie, - Nexus 5X 模拟器 = OS - Andorid 9 Pie

权限政策有变化吗?为什么它有效?

Here I found answer in documentation:

Beginning with Android 4.4 (API level 19), reading or writing files in your app's private external storage directory — accessed using getExternalFilesDir() — does not require the READ_EXTERNAL_STORAGE or WRITE_EXTERNAL_STORAGE permissions.

我的项目不需要它,因为我的最低 API 级别是 19。

So if your app supports Android 4.3 (API level 18) and lower, and you want to access only the private external storage directory, you should declare that the permission be requested only on the lower versions of Android by adding the maxSdkVersion attribute:

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

谢谢。