HarmonyOS PickerProfile相机选择器的配置信息,配置应用沙盒目录后,拍照返回失败

let saveDir = '/data/storage/el2/base/cache'
let pickerProfile: picker.PickerProfile = {
  cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK,
  saveUri: saveDir
};
let pickerResult: picker.PickerResult = await picker.pick(mContext,
  [picker.PickerMediaType.PHOTO], pickerProfile);
HarmonyOS
7天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
fox280

参考代码如下:

async takePhotoOrVideo() {
  try {
    const context = getContext() as common.Context
    const path = getContext(this).filesDir + '/' + PRIVACY_PHOTO_FOLDER_NAME + '/' + Date.now() + '.jpg';
    let uri=fileUri.getUriFromPath(path)
    const file: fs.File = await fs.open(uri, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE);
    // 调用相机拍照
    const pickerResult = await cameraPicker.pick(
      context,
      // 拍照+录像
      [ cameraPicker.PickerMediaType.PHOTO, cameraPicker.PickerMediaType.VIDEO],
      // 相机选择器的配置信息
      {
        cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK, // 默认后摄像头
        // 若saveUri为空,resultUri为公共媒体路径。若saveUri不为空且具备写权限,resultUri与saveUri相同。
        // 若saveUri不为空且不具备写权限,则无法获取到resultUri。
        saveUri: uri,
        videoDuration:2
      },
    )
    // 拍照成功返回地址
    if (pickerResult.resultUri) {
      AlertDialog.show({ message: JSON.stringify(pickerResult, null, 2) })
    }
  } catch (error) {
    AlertDialog.show({ message: JSON.stringify(error, null, 2) })
  }
}
分享
微博
QQ
微信
回复
7天前
相关问题
app.getInfo获取应用配置信息为空。
780浏览 • 1回复 待解决
如何在har中获取hap中配置信息
386浏览 • 1回复 待解决
HarmonyOS 应用路径视频无法播放
185浏览 • 1回复 待解决
HarmonyOS 拷贝文件至
99浏览 • 1回复 待解决
HarmonyOS 图片选择器怎么实现
159浏览 • 1回复 待解决
HarmonyOS 图库选择器
134浏览 • 1回复 待解决
HarmonyOS 相机拍照完,照片读取失败
80浏览 • 1回复 待解决