AndroID R 对于APP读写存储权限做了更细致限制,之前的 READ_EXTERNAL_STORAGE/
WRITE_EXTERNAL_STORAGE
权限可以访问位于外部存储空间中@L_403_0@之外的任何文件。现在新增 MANAGE_EXTERNAL_STORAGE
权限,只有申请这个权限后,才能访问管理文件。例如在 sdcard 目录下创建文件夹等。
官方从 10 开始引导使用分区存储,使用 sdcard 下原有目录,应用需要创建新的目录去AndroID/下自己的应用目录下,按照系统 androID.os.Environment 定义类型创建不同类型文件目录
图片(包括照片和屏幕截图),存储在DCIM/
和Pictures/
目录中。系统将这些文件添加到MediaStore.Images
表格中。视频,存储在DCIM/
、MovIEs/
和Pictures/
目录中。系统将这些文件添加到MediaStore.Video
表格中。音频文件,存储在Alarms/
、Audiobooks/
、Music/
、Notifications/
、podcasts/
和ringtones/
目录中,以及位于Music/
或MovIEs/
目录中的音频播放列表中。系统将这些文件添加到MediaStore.Audio
表格中。下载的文件,存储在Download/
目录中。在搭载 AndroID 10(API 级别 29)及更高版本的设备上,这些文件存储在MediaStore.Downloads
表格中。此表格在 AndroID 9(API 级别 28)及更低版本中不可用。
这样目的还是为了用户数据保护。对于应用间文件共享,推荐如下做法
如果您需要与其他应用共享特定文件,请使用 FileProvider
API。如果您需要向其他应用提供数据,可以使用 ContentProvider。借助内容提供器,您可以完全控制向其他应用提供的读取和写入访问权限。尽管您可以将内容提供器与任何存储媒介一起使用,但它们通常与数据库一起使用。
总结
以上是内存溢出为你收集整理的Android R 存储机制变更全部内容,希望文章能够帮你解决Android R 存储机制变更所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)