如何使用第三方库中的@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##拍摄美化##

相关推荐
程序员爱钓鱼2 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder2 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL3 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码3 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_3 小时前
列表渲染(v-for)
前端·javascript·vue.js
JustHappy4 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌4 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构
sg_knight4 小时前
拥抱未来:ECMAScript Modules (ESM) 深度解析
开发语言·前端·javascript·vue·ecmascript·web·esm
LYFlied4 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展