导入已存在的单个图片
如果您想要导入一张已存在的图片 (例如将照片用于用户个人资料),您的应用可以使用自己的 UI 或者系统图片选择器来执行这一操作。
提供您自己的用户界面
使用以下方法:
- 使用 “请求应用权限” 一文中描述的最佳实践来请求
READ_EXTERNAL_STORAGE
权限。 - 使用 query() API [查询媒体集合](()。
- 将结果显示到您的 UI 上。
使用系统选择器
使用 [ACTION_GET_CONTENT](() intent 来要求用户选择要导入的图片。如果您希望过滤系统选择器向用户展示的图片类型,可以使用 setType() 或 [EXTRA_MIME_TYPES](()。
拍摄单张图片
当您想要拍摄一张图片并用于您的应用时 (例如将照片用于用户个人资料),使用 [ACTION_IMAGE_CAPTURE](() intent 来要求用户使用设备的相机拍摄一张照片。系统会将拍摄的照片存储于 [MediaStore.Images](() 表中。
与其他应用共享媒体文件
使用 insert() 方法将记录直接加入 MediaStore。详细信息,可以参阅媒体存储指南中 “[添加项目](()” 部分。
与特定应用共享媒体文件
使用 Android FileProvider 组件,相关内容在 “[设置文件分享](()” 指南中有描述。