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

老师们有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
相关问题
拉起相册选择图片页面失败
121浏览 • 1回复 待解决
选择相册怎么等待返回啊?
487浏览 • 1回复 待解决
鸿蒙怎么跳转进入email 选择
5580浏览 • 1回复 待解决
如何对相册图片进行编辑裁剪
249浏览 • 1回复 待解决
OpenHarmony 设备 如何往相册传个图片
810浏览 • 2回复 待解决
如何获取拍照后的图片地址
290浏览 • 1回复 待解决
鸿蒙应用开发如何图片适配?
358浏览 • 1回复 待解决
关于群聊微信朋友头像的问题!
5074浏览 • 2回复 待解决
如何保存一张PNG图片相册
176浏览 • 1回复 待解决
怎样让用户选择并加载图片
6959浏览 • 1回复 待解决