# 文件存储适配

# 参考资料

# 预备知识

# targetSdKVersion

# 目录分类

  • 私有目录
    • 内部存储私有目录(/data/data/packageName) ,通过getFilesDir()获取
    • 外部存储私有目录 (/sdcard/Android/data/packageName), 通过getExternalFilesDir获取目录
  • 共享目录
    • 媒体文件[DCIM、Pictures、Music、Movies]
    • 非媒体文件[PDF、]

# 访问不同分区的方式:

  1. 私有目录:和以前的版本一致,可通过 File() API 访问,无需申请权限。
  2. 共享目录:需要通过MediaStoreStorage Access Framework API 访问。

# 共享目录需要权限

对共享目录的权限进行了细分:

  1. 无需申请权限的操作: 通过 MediaStore API对媒体集、文件集进行媒体/文件的添加、对 自身APP 创建的 媒体/文件 进行查询、修改、删除的操作。
  2. 需要申请READ_EXTERNAL_STORAGE权限: 通过 MediaStore API对所有的媒体集进行查询、修改、删除的操作。
  3. 调用 Storage Access Framework API : 会启动系统的文件选择器向用户申请操作指定的文件
Last Updated: 1/9/2024, 11:22:13 AM