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

老师们有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 选择
3625浏览 • 1回复 待解决
怎样让用户选择并加载图片
3573浏览 • 1回复 待解决
关于群聊微信朋友头像的问题!
3003浏览 • 2回复 待解决
新建测试租户无法进入
307浏览 • 2回复 待解决
鸿蒙请求相册和相机的demo?
979浏览 • 1回复 待解决
Hi3516按照官方文档无法进入ohos shell
2925浏览 • 3回复 待解决
鸿蒙开发保存页面到相册
565浏览 • 1回复 待解决
应用分类应该怎么选择
1137浏览 • 2回复 待解决
开发板推荐购买链接
3659浏览 • 2回复 已解决
如何将视频保存到相册以及主机端
779浏览 • 1回复 待解决
鸿蒙相册里的最近删除文件夹在哪?
7498浏览 • 1回复 待解决
DevEcoStudio没有列选择编辑功能吗?
3742浏览 • 1回复 已解决
手机应用,不了signing
1970浏览 • 1回复 待解决
工具类里 怎么跳转打开页面呢?
386浏览 • 1回复 待解决
怎么把视频保存到相册以及主机端?
619浏览 • 1回复 待解决
HarmonyOS SDK和openHarmony SDK怎么选择
943浏览 • 1回复 待解决
如何选择鸿蒙App开发的编程语言
3214浏览 • 2回复 待解决