You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Q/R及以上版本存储图片是否需权限?Media API是否适用?

Android 10及以上图片存储权限与方案问题解答

问题1:Android Q、R及以上版本存储图片是否需要申请相关权限?使用Media API存储图片是否为合适方案?

权限要求说明

  • 若你的应用仅需要将图片保存到系统公共媒体库的相册类目录(对应MediaStore.Images.Media覆盖的DCIM、Pictures等系统默认目录),或是应用自身的私有目录,无需申请任何存储权限,Android 10到最新版本都适用该规则。
  • 仅当你需要读取其他应用创建的公共媒体图片时,才需要申请对应权限:Android 12及以下申请READ_EXTERNAL_STORAGE,Android 13及以上申请READ_MEDIA_IMAGES。

Media API适配性说明

Media API是Google官方推荐的公共媒体文件存储方案,完全适配分区存储规范,是非常合适的存储方案:

  • 避免了传统文件路径适配不同版本的兼容性问题,无需处理路径变更的适配成本。
  • Android 10上的过渡方案requestLegacyExternalStorage在Android 11及以上已经强制失效,使用Media API可以实现全版本的长期兼容,不需要额外做分支适配。
  • 写入逻辑非常简单,只需要构造ContentValues填充图片信息,插入到MediaStore.Images.Media.EXTERNAL_CONTENT_URI即可完成存储。

问题2:Android 11中WRITE_EXTERNAL_STORAGE权限已失效,是否可以无需用户授权直接将图片保存至手机中?

大部分场景下可以无需授权直接保存,仅两类特殊场景需要用户授权:

  • 可直接无授权保存的场景:保存图片到应用私有目录,或是保存到公共媒体库的相册、图片类默认目录,不需要任何用户授权,也不需要申请WRITE_EXTERNAL_STORAGE权限。
  • 需要用户授权的例外场景:
    • 要将图片保存到公共存储的非媒体自定义目录(比如存储根目录下自建的非相册类文件夹),需要申请MANAGE_EXTERNAL_STORAGE权限,该权限需要用户手动跳转到系统设置页授权,且Google Play仅允许文件管理、备份类等需要访问全量存储的应用申请。
    • 要修改或删除其他应用创建的公共媒体图片,需要向用户申请单文件的操作授权,无法批量直接操作。

内容的提问来源于stack exchange,提问作者Pranav Panwar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 05:48:03