#鸿蒙通关秘籍#如何使用HarmonyOS的startAbilityForResult接口拉起相机并获取返回的图片地址?

HarmonyOS
2024-12-03 11:17:21
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
LDAP风谷

在HarmonyOS中,可以通过startAbilityForResult接口拉起相机并获取图片地址。具体步骤如下:

  1. 使用cameraCapture函数来封装调用相机的逻辑。这个函数需要传入一个UIAbilityContext的上下文。
export async function cameraCapture(context: common.UIAbilityContext): Promise<string> {
  let result: common.AbilityResult = await context.startAbilityForResult({
    action: Constants.ACTION_PICKER_CAMERA,
    parameters: {
      'supportMultiMode': false,
      'callBundleName': context.abilityInfo.bundleName
    }
  });
  
  if (result.resultCode === 0) {
    let param: Record<string, Object> | undefined = result.want?.parameters;
    if (param !== undefined) {
      let resourceUri: string = param[Constants.KEY_RESULT_PICKER_CAMERA] as string;
      return resourceUri;
    }
  }
  return "";
}
  1. 在输入弹窗的布局中添加一个相机图标,并设置点击事件。
Image($r('app.media.camera'))
  .onClick(async () => {
    let image: string = await cameraCapture(getContext(this) as common.UIAbilityContext);
    // 处理获取到的图片地址
  })
  1. 将获取到的图片地址存储或处理,用于后续的操作。
分享
微博
QQ
微信
回复
2024-12-03 13:36:20
相关问题
如何获取拍照后图片地址
2058浏览 • 1回复 待解决