拍照无法确认返回 HarmonyOS鸿蒙Next

拍照无法确认返回 HarmonyOS鸿蒙Next

let result = await context.startAbilityForResult({
  'uri': '',
  'action': wantConstant.Action.ACTION_IMAGE_CAPTURE,
  'parameters': {},
})

if(result.resultCode === 0 && result.want){
  LogUtil.i(`takePhoto successfully, takePhotoResult uri: ${result.want.uri}`)
} else {
  LogUtil.i(`takePhoto error : ${result.resultCode}`)
}

这段代码跳转系统拍照界面了,但是拍照后点击右下角的对勾无反应


更多关于拍照无法确认返回 HarmonyOS鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

可以参考如下代码实现拍照后返回:

import common from '@ohos.app.ability.common';

@Entry
@Component
struct ImagePickerPage {
  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Text(this.message)
          .fontSize(50)
          .fontWeight(FontWeight.Bold)

        Button("camera Image").onClick(() => {
          const context = getContext(this) as common.UIAbilityContext
          console.log('sss')
          context.startAbilityForResult({
            action: "ohos.want.action.imageCapture",
            parameters: {
              callBundleName: "com.example.ir_image", //返回的包名
              "supportMultiMode": true
            }
          }, (err, data) => {
            console.info("context:" + JSON.stringify(context))
            console.info("imageCapture:" + JSON.stringify(data))
            let uri: string = (data?.want?.parameters as Record<string, Object)]['resourceUri']?.toString(); //获取相片uri数据
            console.info("uri:" + JSON.stringify(uri))
          })
        })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于拍照无法确认返回 HarmonyOS鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,拍照无法确认返回的问题可能与系统相机应用的权限设置或API调用有关。首先,确保应用已获取必要的相机权限,如ohos.permission.CAMERAohos.permission.WRITE_MEDIA。其次,检查代码中是否正确处理了拍照后的回调函数,确保在拍照完成后能够正确返回结果。如果使用的是Camera API,确保capture方法被正确调用,并且onCaptureSuccessonCaptureFailure回调函数被正确处理。此外,检查日志输出,查看是否有相关错误信息,如权限被拒绝或API调用失败。如果问题仍然存在,可以尝试更新系统或应用至最新版本,或查看华为开发者文档中的相关API说明。

在HarmonyOS鸿蒙Next中,如果拍照后无法确认返回,建议尝试以下步骤:

  1. 检查相机应用是否正常运行,重新启动应用或重启设备。

  2. 确保系统已更新至最新版本,以修复可能的软件问题。

  3. 清理相机应用缓存,通过“设置” > “应用管理” > “相机” > “存储” > “清除缓存”。

  4. 如问题持续,备份数据后恢复出厂设置。如仍无法解决,建议联系华为客服获取进一步支持。

回到顶部