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

老师们有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
相关问题
拉起相册选择图片页面失败
1925浏览 • 1回复 待解决
选择头像Button的实现
416浏览 • 1回复 待解决
HarmonyOS如何实现头像选择功能?
556浏览 • 1回复 待解决
鸿蒙怎么跳转进入email 选择
7310浏览 • 1回复 待解决
选择相册怎么等待返回啊?
2023浏览 • 1回复 待解决