标签:存储 表格 目录 Android 权限 MediaStore 变更
Android R 对于APP读写存储权限做了更细致限制,之前的 READ_EXTERNAL_STORAGE/
WRITE_EXTERNAL_STORAGE
权限可以访问位于外部存储空间中应用专属目录之外的任何文件。现在新增 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,权限,MediaStore,变更 来源: https://blog.csdn.net/tq501501/article/details/117225419
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。