拉起系统相机参考Demo:import picker from '@ohos.multimedia.cameraPicker' import camera from '@ohos.multimedia.camera'; import common from '@ohos.app.ability.common'; import { BusinessError } from '@ohos.base'; import fileuri from '@ohos.file.fileuri'; import fs from '@ohos.file.fs'; class CameraPosition { cameraPosition: camera.CameraPosition saveUri: string constructor(cameraPosition: camera.CameraPosition, saveUri: string) { this.cameraPosition = cameraPosition this.saveUri = saveUri } } let mContext = getContext(this) as common.Context; //指定uri保存,需要先创建这个文件,然后获得这个创建文件的uri let pathDir = getContext().filesDir; let filePath = pathDir + `/${new Date().getTime()}.jpg}` fs.createRandomAccessFileSync(filePath, fs.OpenMode.CREATE); let uri = fileuri.getUriFromPath(filePath); async function demo() { try { let pickerProfile = new CameraPosition(camera.CameraPosition.CAMERA_POSITION_BACK, uri) //前置摄像机传CAMERA_POSITION_FRONT,后置摄像机传CAMERA_POSITION_BACK,saveuri传想存到对应沙箱的uri let pickerResult: picker.PickerResult = await picker.pick(mContext, [picker.PickerMediaType.PHOTO, picker.PickerMediaType.VIDEO], pickerProfile); console.log("the pick pickerResult is:" + JSON.stringify(pickerResult)); } catch (error) { let err = error as BusinessError; console.error(`the pick call failed. error code: ${err.code}`); } } @Entry @Component struct Index { build() { Row() { Column() { Button('拉起后置摄像头').onClick(() => { demo() }) } .width('100%') } .height('100%') } }参考文档:https://gitee.com/openharmony/docs/blob/92cc9d8b12b628332a5b97fe8df9e16174d3cd9e/zh-cn/application-dev/reference/apis/js-apis-cameraPicker.md关于系统相机权限授权:1.首先在module.json5文件中申请需要的权限:"requestPermissions": [ { "name": "ohos.permission.CAMERA", "usedScene": { "abilities": [ "FormAbility" ], "when": "always" }, "reason": "$string:Camera_Permission_Request" } ],2.接着使用requestPermissionsFromUser方法获取权:let atManager = abilityAccessCtrl.createAtManager(); atManager.requestPermissionsFromUser(this.context, [ 'ohos.permission.CAMERA' ] ).then((data) => { console.info('data:' + JSON.stringify(data)); console.info('data permissions:' + data.permissions); console.info('data authResults:' + data.authResults); }).catch((err: BusinessError) => { console.info('data:' + JSON.stringify(err)); });
拉起系统相机参考Demo:
参考文档:https://gitee.com/openharmony/docs/blob/92cc9d8b12b628332a5b97fe8df9e16174d3cd9e/zh-cn/application-dev/reference/apis/js-apis-cameraPicker.md
关于系统相机权限授权:
1.首先在module.json5文件中申请需要的权限:
2.接着使用requestPermissionsFromUser方法获取权: