gpt4 book ai didi

android - 为什么在 Android Q 及更高版本上不需要 WRITE_EXTERNAL_STORAGE

转载 作者:行者123 更新时间:2023-12-03 14:15:41 25 4
gpt4 key购买 nike

我使用 DownloadManager 下载照片并将其保存到外部图片目录:

.setDestinationInExternalPublicDir(Environment.DIRECTORY_PICTURES, File.separator + filename)

Marshmallow 需要 WRITE_EXTERNAL_STORAGE (如预期的那样),但在 Android Q 及更高版本上,无需许可即可正常工作。为什么会这样?是因为范围存储吗?

最佳答案

安卓文档:

Android 为外部存储的读写访问定义了以下权限:READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE。

在早期版本的 Android 上,应用程序需要声明这些权限才能访问外部存储上应用程序特定目录之外的任何文件。较新的 Android 版本更多地依赖文件的用途而不是位置来确定应用程序访问该文件的能力。这种基于目的的存储模型改善了用户隐私,因为应用程序只能访问它们实际使用的设备文件系统区域。

为了让用户更好地控制他们的文件并限制文件困惑,针对 的应用程序Android 10(API 级别 29)默认情况下,及更高版本被授予对外部存储或范围存储的范围访问权限。此类应用程序只能访问外部存储上特定于应用程序的目录,以及应用程序创建的特定类型的媒体。

For more

关于android - 为什么在 Android Q 及更高版本上不需要 WRITE_EXTERNAL_STORAGE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60780080/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com