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

Android 10/11(API 29/30)下是否可对非自有文件进行破坏性修改?

Android 共享存储批量修改照片的合规实现方案

方案1:SAF持久化目录权限(最稳妥,上架无忧)

  • 首次使用时仅需唤起1次SAF文件夹选择对话框,引导用户选择需要批量操作的目标目录(如DCIM)
  • 拿到目录Uri后调用takePersistableUriPermission()申请持久化访问权限,系统会永久授予你该目录及其子目录所有文件的读写权限
  • 后续操作无需再弹任何授权框,可直接批量遍历、修改、写回目录下的所有图片原文件,不需要重命名

方案2:媒体文件专属权限(操作更便捷)

  • Android 11及以上版本申请READ_MEDIA_IMAGES权限,修改非自有媒体文件时系统会统一弹出1次修改授权,用户同意后即可批量操作所有公共图片目录下的文件,直接写回原文件
  • 如果你的应用核心功能就是图片编辑,也可申请MANAGE_EXTERNAL_STORAGE权限,提交功能说明后可正常通过Play Store审核,获得全共享存储的读写权限
  • Android 10版本可在AndroidManifest.xml中配置android:requestLegacyExternalStorage="true",沿用旧存储权限逻辑,无需适配分区存储
  • Android 9及以下版本正常申请WRITE_EXTERNAL_STORAGE权限即可完成所有文件操作

两种方案都完全符合Play Store上架规则,不需要面向旧版本开发,也不用每次操作都弹出SAF对话框,可满足批量处理DCIM目录图片的需求。

内容的提问来源于stack exchange,提问作者Al Ro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 23:54:03