Android-存储空间的最佳实践

本文介绍了在不同Android版本上处理媒体文件和存储的最佳实践,包括使用系统选择器、拍摄图片、共享文件、迁移数据等。针对Android 11及以下版本,提供了适配分区存储的指导,强调了权限请求和使用ContentProvider的重要性。
摘要由CSDN通过智能技术生成

导入已存在的单个图片

如果您想要导入一张已存在的图片 (例如将照片用于用户个人资料),您的应用可以使用自己的 UI 或者系统图片选择器来执行这一操作。

提供您自己的用户界面

使用以下方法:

  1. 使用 “请求应用权限” 一文中描述的最佳实践来请求 READ_EXTERNAL_STORAGE 权限。
  2. 使用 query() API [查询媒体集合](()。
  3. 将结果显示到您的 UI 上。

使用系统选择器

使用 [ACTION_GET_CONTENT](() intent 来要求用户选择要导入的图片。如果您希望过滤系统选择器向用户展示的图片类型,可以使用 setType() 或 [EXTRA_MIME_TYPES](()。

拍摄单张图片

当您想要拍摄一张图片并用于您的应用时 (例如将照片用于用户个人资料),使用 [ACTION_IMAGE_CAPTURE](() intent 来要求用户使用设备的相机拍摄一张照片。系统会将拍摄的照片存储于 [MediaStore.Images](() 表中。

与其他应用共享媒体文件

使用 insert() 方法将记录直接加入 MediaStore。详细信息,可以参阅媒体存储指南中 “[添加项目](()” 部分。

与特定应用共享媒体文件

使用 Android FileProvider 组件,相关内容在 “[设置文件分享](()” 指南中有描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值