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

Android 13下在外部存储Documents中创建应用专属文件夹的正确方法

在Android 13的Documents目录创建应用专属文件夹的正确姿势

核心逻辑

要满足用户手动复制文件、完全访问权限的需求,不能用内部存储,也不能在外部根目录建文件夹,得靠存储访问框架(SAF)——这是Android 13推荐的合规方案,通过用户授权获取Documents目录下文件夹的访问权。

关键方法与步骤

  • 唤起文件选择器创建/选择文件夹:用Intent(Intent.ACTION_OPEN_DOCUMENT_TREE)启动系统文件选择器,引导用户在Documents目录下创建你的应用专属文件夹(比如"MyApp"),或者直接选择已有的目标文件夹。
  • 获取持久化权限:用户选定文件夹后,通过getContentResolver().takePersistableUriPermission()获取持久化的URI权限,这样应用重启后不用再让用户授权,依然能访问该文件夹。
  • 文件读写操作:后续处理二进制、文本、XML文件时,用ContentResolver的openOutputStream()、openInputStream()等方法,配合DocumentsContract相关API完成创建、读取、修改、删除操作。

重要提示

  • Android 13不需要申请READ_EXTERNAL_STORAGE或WRITE_EXTERNAL_STORAGE权限,SAF通过用户主动授权获取访问权,符合系统安全规范。
  • 必须由用户手动操作选择/创建文件夹,不能静默创建,这是系统强制要求,确保用户明确知晓并授权应用访问该目录。

内容的提问来源于stack exchange,提问作者Robert Angermayr

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 23:27:27