如何使用第三方库中的@pura/harmony-utils(V1.3.3)申请授权工具类一

1. 安装依赖

bash 复制代码
ohpm install @pura/harmony-utils

在oh-package.json5中看到以下代码即表示安装成功

​编辑

2. 配置权限

module.json5 文件中声明需要的权限(部分权限需要在文档中心进行审批,审批通过后才能使用):

bash 复制代码
    "requestPermissions": [
      {
      "name": "ohos.permission.INTERNET"
      },
      {
        "name": "ohos.permission.CAMERA",
        "reason": "$string:Webcampermissions",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.MICROPHONE",
        "reason": "$string:Microphonepermissions",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.LOCATION",
        "reason": "$string:Locationpermissions",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      },
      {
      "name": "ohos.permission.APPROXIMATELY_LOCATION",
      "reason": "$string:locationreson",
      "usedScene": {
        "abilities": ["EntryAbility"]
      }
     },
      {
        "name": "ohos.permission.READ_MEDIA",
        "reason": "$string:ReadMediaFiles",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      },
      {
        "name": "ohos.permission.READ_CALENDAR",
        "reason": "$string:Calendarpermissions",
        "usedScene": {
          "abilities": ["EntryAbility"],
          "when": "always"
        }
      }
    ],

string.json 文件中:

json 复制代码
    {
      "name": "Webcampermissions",
      "value": "需要摄像头权限进行拍照"
    },{
      "name": "Microphonepermissions",
      "value": "需要麦克风权限进行录音"
    },{
      "name": "Locationpermissions",
      "value": "需要位置权限提供定位服务"
    },{
      "name": "ReadMediaFiles",
      "value": "需要读取媒体文件权限"
    },{
      "name": "Calendarpermissions",
      "value": "需要读取日历权限"
    },{
      "name": "locationreson",
      "value": "获取当前位置"
    }

3. 检查是否授权(以相机为例)

javascript 复制代码
let p: Permissions = 'ohos.permission.CAMERA'; //相机
PermissionUtil.checkPermissions(p).then((result) => {
    ToastUtil.showToast(`检测是否授权,结果:${result}`);
})

4.检查并申请授权(以相机为例)

javascript 复制代码
let p: Permissions = 'ohos.permission.CAMERA'; //相机
PermissionUtil.checkRequestPermissions(p).then((grant) => {
  ToastUtil.showToast(`检测并申请授权,结果:${grant}`);
    if (!grant) {
      WantUtil.toAppSetting(); //拒绝权限,跳转APP设置页面
    }
})

本文档所使用类的源地址链接 entry/src/main/ets/pages/utils/PermissionUtilPage.ets · 桃花镇童长老/harmony-utils - Gitee.com****

本文档所介绍的第三方库源地址链接 OpenHarmony三方库中心仓

​##三方SDK##拍摄美化##

相关推荐
恋猫de小郭2 分钟前
Fluttercon EU 2025 :Let's go far with Flutter
android·前端·flutter
殇蓝7 分钟前
react-lottie动画组件封装
前端·react.js·前端框架
05Nuyoah12 分钟前
DAY 04 CSS文本,字体属性以及选择器
前端·css
一條狗13 分钟前
学习日报 20250928|React 中实现 “实时检测”:useEffect 依赖项触发机制详解
前端·react.js
Gazer_S15 分钟前
【React 状态管理深度解析:Object.is()、Hook 机制与 Vue 对比实践指南】
前端·react.js·前端框架
Nicholas6817 分钟前
flutter视频播放器video_player_avfoundation之AVFoundationVideoPlayer(三)
前端
Asort19 分钟前
JavaScript设计模式(六)——适配器模式 (Adapter)
前端·javascript·设计模式
是晓晓吖23 分钟前
Puppeteer page.on('response',fn)的最佳实践之等待响应
前端·puppeteer
跟橙姐学代码25 分钟前
给Python项目加个“隔离间”,从此告别依赖纠缠!
前端·python·ipython