这两个属性是与 Android 10(API 级别 29)及更高版本中的外部存储访问权限限制相关的属性。
-
android:preserveLegacyExternalStorage="true"
这个属性用于在 Android 10 及更高版本上保留旧版的外部存储访问模式。在 Android 10 及更高版本中,默认情况下,应用程序只能访问自己的专用目录,而不能直接访问共享的外部存储目录。通过设置
android:preserveLegacyExternalStorage
为true
,您可以保持应用在旧版的外部存储访问模式下的行为,即可以访问共享的外部存储目录。这个属性通常用于兼容性考虑,以确保旧版的应用程序可以继续在 Android 10 及更高版本上正常运行。但请注意,这个属性在将来的 Android 版本中可能会被移除,因此建议使用新的存储访问框架来适配新的权限模型。
-
android:requestLegacyExternalStorage="true"
这个属性用于在应用的清单文件(AndroidManifest.xml)中声明,以请求在 Android 10 及更高版本上使用旧版的外部存储访问模式。通过设置
android:requestLegacyExternalStorage
为true
,您可以告诉系统将应用视为旧版的应用,以便在 Android 10 及更高版本上继续使用旧版的外部存储访问模式。与
android:preserveLegacyExternalStorage
类似,这个属性也用于兼容性考虑。但同样需要注意,这个属性在将来的 Android 版本中可能会被移除,因此建议尽早迁移到新的存储访问框架。