HarmonyOS 鸿蒙Next审核的时候遇到下错误:申请ohos.permission.CAMERA权限,根据权限最小化原则,请使用相机picker替代

提交审核的时候,遇到这样的问题:【安全测试】访相机库申请ohos.permission.CAMERA权限,根据权限最小化原则,请使用相机picker替代;请问有什么解决方案吗?

2 回复
import picker from '@ohos.multimedia.cameraPicker';
import camera from '@ohos.multimedia.camera';
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';

@Entry
@Component
struct Index {
  mContext = getContext(this) as common.Context;

  async demo() {
    try {
      let pickerProfile: picker.PickerProfile = {
        cameraPosition: camera.CameraPosition.CAMERA_POSITION_BACK
      };
      let pickerResult: picker.PickerResult = await picker.pick(this.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}`);
    }
  }

  @State message: string = 'Hello World';

  build() {
    Row() {
      Column() {
        Button(this.message)
          .onClick(() => {
            this.demo()
          })
      }
      .width('100%')
    }
    .height('100%')
  }
}

更多关于HarmonyOS 鸿蒙Next审核的时候遇到下错误:申请ohos.permission.CAMERA权限,根据权限最小化原则,请使用相机picker替代的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中进行安全测试时,若需访问相机库并遵循权限最小化原则,建议使用相机picker组件来替代直接申请ohos.permission.CAMERA权限。

相机picker组件允许用户从系统相机库中选择图片或视频,而无需应用直接访问相机硬件。这种方式减少了应用对敏感权限的需求,提升了用户隐私保护。

实现步骤如下:

  1. 在应用的config.json文件中,声明相机picker所需的权限,通常包括读取存储权限(如ohos.permission.READ_MEDIA),但无需声明相机权限。

  2. 使用HarmonyOS提供的相机picker API来启动相机库选择界面。用户选择图片或视频后,应用将接收到所选内容的URI。

  3. 应用通过URI访问用户选择的图片或视频,进行后续处理。

此方式不仅符合权限最小化原则,还能有效避免因直接访问相机硬件而可能引发的安全问题和用户隐私泄露。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部