首页 > 解决方案 > requestLegacyExternalStorage="true" 和 targetSdk=30

问题描述

我的目标是 SDK 30,我在我的项目中使用存储访问框架和 MediaStore API。一切正常,但仅对于 Android SDK 29,我需要使用 requestLegacyExternalStorage="true"。这是因为即使在 android 清单中设置了 READ_EXTERNAL_STORAGE ,仅在 Android Q 中也不允许列出文件(即在 Music 文件夹中)。

所以我的问题是:在 2021 年 11 月,当应用程序在 Android Q 上运行时它仍然有效吗?
如果我理解得很好 requestLegacyExternalStorage 只会在 Android > Q 上被忽略,我不使用 MANAGE_EXTERNAL_STORAGE 权限。
https://developer.android.com/about/versions/11/privacy/storage#scoped-storage

谢谢你的帮助!

更新: 更清楚一点,requestLegacyExternalStorage=“true” 针对 Android SDK 30 并在 29 上运行应用程序的行为是什么?

标签: javaandroidandroid-permissionsscoped-storage

解决方案


推荐阅读