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

老师们有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
相关问题
鸿蒙怎么跳转进入email 选择
5226浏览 • 1回复 待解决
OpenHarmony 设备 如何往相册传个图片
393浏览 • 2回复 待解决
怎样让用户选择并加载图片
6633浏览 • 1回复 待解决
关于群聊微信朋友头像的问题!
4743浏览 • 2回复 待解决
新建测试租户无法进入
2868浏览 • 2回复 待解决
鸿蒙请求相册和相机的demo?
3402浏览 • 1回复 待解决
js相机组件拍照后自动保存吗
2004浏览 • 1回复 待解决
harmonyOS基于api9如何调用相机拍照
517浏览 • 1回复 待解决
鸿蒙开发保存页面到相册
3579浏览 • 1回复 待解决
鸿蒙相册里的最近删除文件夹在哪?
13695浏览 • 1回复 待解决
如何将视频保存到相册以及主机端
3324浏览 • 1回复 待解决
Hi3516按照官方文档无法进入ohos shell
4897浏览 • 3回复 待解决
怎么把视频保存到相册以及主机端?
2064浏览 • 1回复 待解决
docker 容器怎么选择时区?
506浏览 • 1回复 待解决
应用分类应该怎么选择
2871浏览 • 2回复 待解决