在迁移到Android API级别29时,如果收到错误消息"requestLegacyExternalStorage not found",这是因为在Android 10(API级别29)中,Google引入了一项新的存储权限策略,即Scoped Storage(作用域存储)。Scoped Storage限制了应用对外部存储的访问权限,以提高用户数据的安全性和隐私保护。
在Android 10之前的版本中,应用可以自由访问外部存储上的文件,而在Android 10及更高版本中,应用默认只能访问其私有目录,需要通过特定的权限来访问共享的外部存储空间。
要解决"requestLegacyExternalStorage not found"错误,可以采取以下步骤:
<application
...
android:requestLegacyExternalStorage="true">
...
</application>
这将启用旧的存储权限模式,允许应用继续访问外部存储空间。
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
对于Scoped Storage的详细信息和迁移指南,你可以参考Google官方文档:Scoped Storage
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云