CameraPickerUtils.ets 1.07 KB
import { abilityAccessCtrl, common, Permissions } from '@kit.AbilityKit';
import { camera, cameraPicker as picker } from '@kit.CameraKit';
let mContext = getContext(this) as common.Context;

const PERMISSIONS: Array<Permissions> = [
  'ohos.permission.READ_IMAGEVIDEO',
];

export class  CameraPickerUtils {
  async getCamera(){
    this.pickerPermissions()

    let pickerProfile: picker.PickerProfile = {
      cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK
    };
    let pickerResult: picker.PickerResult = await picker.pick(mContext,
      [picker.PickerMediaType.PHOTO], pickerProfile);

    return new Promise<string>((success, fail) => {
      if (pickerResult['resultCode'] === 0) {
        success(pickerResult['resultUri'])
      }
    })
  }

  async pickerPermissions(){
    ///权限查询
    const context = getContext(this) as common.UIAbilityContext;
    const atManager = abilityAccessCtrl.createAtManager();
    await atManager.requestPermissionsFromUser(context, PERMISSIONS);
  }

}

export const cameraPickerUtils: CameraPickerUtils = new CameraPickerUtils();