进入相册或拍照选择图片做头像

老师们有Demo吗,鸿蒙大赛快截至了,学生开发的app差个修改头像的功能,安卓知道怎么做,但是鸿蒙着实不知道怎么办。。

图片
2021-03-26 09:26:21
浏览
收藏 0
回答 2
已解决
回答 2
按赞同
/
按时间
fangwenmahu
6

方案一:可以直接拉起系统相册,鸿蒙侧应用需要设置Intent.FLAG_NOT_OHOS_COMPONENT标识,其他设置和android侧拉起系统相册的流程一致。

例如:

Intent intent = new Intent(); intent.setAction(Intent.ACTION_PLAY);

intent.addFlags(intent.FLAG_NOT_OHOS_COMPONENT);

intent.setUriAndtype(Uri.getUriFromFile(new File(outputFile)),""audio/*"");startAbility(intent);

 

方案二:

也可以自己实现,通过AVStorage获取相册图片的id,进而获取到uri地址。

步骤:

1:申请权限:WRITE_MEDIA、READ_MEDIA。

2:通过AVStorage查询媒体文件的id。

DataAbilityPredicates predicates = new DataAbilityPredicates();

//设置查询过滤条件

predicates.equalTo(AVStorage.Images.Media.DATA,"xxxxx");

ResultSet resultSet = DataAbilityHelper.query(AVStorage.Images.Media.EXTERNAL_DATA_ABILITY_URI,new String[]{AVStorage.Images.Media.ID},predicates);

3:根据查询到的id,获取图片的uri   uri =DataUriUtils.attachId(contentUri,id)

4:通过FileDescriptor fileDescriptor = DataAbilityHelper.creator(context).openFile(uri,"r");显示出图片

分享
微博
QQ
微信
回复1
2021-04-01 21:56:28
鸿蒙张荣超
1

可以参考社区的这篇帖子:https://harmonyos.51cto.com/posts/2261

分享
微博
QQ
微信
回复
2021-04-02 11:15:49
相关问题
选择相册怎么等待返回啊?
351浏览 • 1回复 待解决
鸿蒙怎么跳转进入email 选择
5452浏览 • 1回复 待解决
如何获取拍照后的图片地址
187浏览 • 1回复 待解决
如何对相册图片进行编辑裁剪
158浏览 • 1回复 待解决
OpenHarmony 设备 如何往相册传个图片
698浏览 • 2回复 待解决
怎样让用户选择并加载图片
6842浏览 • 1回复 待解决
鸿蒙应用开发如何图片适配?
233浏览 • 1回复 待解决
来电横幅通知头像无法显示
144浏览 • 1回复 待解决
关于群聊微信朋友头像的问题!
4938浏览 • 2回复 待解决
鸿蒙请求相册和相机的demo?
3785浏览 • 1回复 待解决
新建测试租户无法进入
3158浏览 • 2回复 待解决
弹窗组件无法进入onPageShow方法
142浏览 • 1回复 待解决
鸿蒙开发保存页面到相册
4163浏览 • 1回复 待解决
如何将视频保存到相册以及主机端
3585浏览 • 1回复 待解决
鸿蒙相册里的最近删除文件夹在哪?
15030浏览 • 1回复 待解决
js相机组件拍照后自动保存吗
2271浏览 • 1回复 待解决