HarmonyOS 鸿蒙Next 打开系统相机拍照并返回及打开系统相册勾选图片的示例代码参考

发布于 1周前 作者 eggper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 打开系统相机拍照并返回及打开系统相册勾选图片的示例代码参考 打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的示例代码参考

2 回复

打开系统相机拍照并返回和打开系统相册勾选一张或多张图片的的Demo:

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.hm.imageshow"//拉起系统相机拍照后返回的应用包名
            }
          },(err, data) => {
            console.info("context:" + JSON.stringify(context))
            console.info("imageCapture:" + JSON.stringify(data))
          })
        })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next 打开系统相机拍照并返回及打开系统相册勾选图片的示例代码参考的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS(鸿蒙)系统中,打开系统相机拍照并返回结果,以及打开系统相册并勾选图片,通常需要使用到Ability和Intent机制。以下是一个简化的示例代码参考,展示如何实现这些功能:

打开系统相机并返回照片:

// 假设你在一个Ability中
Intent cameraIntent = new Intent();
cameraIntent.setAction(Intent.ACTION_CAPTURE);
cameraIntent.setType("image/*");
// 如果需要返回照片数据,可以设置一个临时文件路径
// cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(tempFilePath)));
startAbilityForResult(cameraIntent, REQUEST_CODE_CAPTURE);

// 在onAbilityResult中处理返回结果
@Override
protected void onAbilityResult(int requestCode, int resultCode, Intent data) {
    super.onAbilityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_CAPTURE && resultCode == RESULT_OK) {
        // 处理返回的照片数据,data中可能包含Uri或者文件路径
    }
}

打开系统相册并勾选图片:

Intent galleryIntent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startAbilityForResult(galleryIntent, REQUEST_CODE_PICK);

// 同样在onAbilityResult中处理返回结果
@Override
protected void onAbilityResult(int requestCode, int resultCode, Intent data) {
    super.onAbilityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_PICK && resultCode == RESULT_OK && data != null) {
        Uri selectedImage = data.getData();
        // 处理选中的图片Uri
    }
}

请注意,上述代码为简化示例,实际开发中可能需要根据具体需求调整。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部