如何使用相机选择器拍照并获取结果?

我正在开发一个应用,需要用户通过相机拍照,这个拍照过程我想用系统的相机应用来完成,完成后我想获取拍照的结果,这个怎么实现?

阅读 858
1 个回答

可参考如下代码,拉起系统拍照页面并获取图片uri:

@State imagePathSrc: String = ''; 
context:common.UIAbilityContext | undefined = (getContext(this) as common.UIAbilityContext); 
savePath: string = getContext().filesDir; 
 
async thirdPartyCall(supportMultiMode: boolean): Promise<common.AbilityResult | undefined> { 
  console.log("thirdPartyCall savaPath=" + this.savePath) // ohos.want.action.imageCapture 
  // 拉起拍照功能 
  let want: Want = { 
    "action": 'ohos.want.action.imageCapture', 
    "parameters": { 
      supportMultiMode: supportMultiMode, 
      callBundleName: "com.example.systemcapturegetphoto" 
    } 
  }; 
  // 获取图片uri 
  if (this.context) { 
    let result: common.AbilityResult = await this.context.startAbilityForResult(want); 
    let params = result?.want?.parameters as Record<string, string | number> 
    this.imagePathSrc = params?.resourceUri as string; 
    console.info('Operation imagePathSrc= ' + this.imagePathSrc); 
  } 
  return undefined; 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题