当前位置: 首页> 健康> 知识 > 北京建设工程交易中心招标网_工业设计手绘_怎样做好服务营销_必应搜索引擎网站

北京建设工程交易中心招标网_工业设计手绘_怎样做好服务营销_必应搜索引擎网站

时间:2025/7/29 18:41:54来源:https://blog.csdn.net/shenyo/article/details/147121188 浏览次数:0次
北京建设工程交易中心招标网_工业设计手绘_怎样做好服务营销_必应搜索引擎网站

前段时间利用空余时间写了一个权限请求库:HMPermission。

一,简介

HMPermission 是鸿蒙系统上的一款权限请求框架,封装了权限请求逻辑,采用链式调用的方式请求权限,简化了权限请求的代码。

二,使用方法

1,安装

在Terminal 窗口里输入命令行:

ohpm i @sy/hmpermission

2,在配置文件中申明权限 

在对应模块的module.json5文件中申明权限

  "requestPermissions": [{"name": "ohos.permission.CAMERA","reason": "$string:camera_permission_reason","usedScene": {"abilities": ["EntryAbility"],"when": "inuse"}}]

name:权限名称;

reason:申请权限的原因。

说明:申请的权限是user_grant 权限时必填,并且需要做多语言适配

usedScene:权限使用场景。

说明:

- abilities:使用权限的UIAbility或者ExtensionAbility组件的名称。

- when:调用时机。可不填,填写时使用固定值"inuse"

注意:已在子模块中申请的权限,无需在主项目重复添加,权限将在整个应用生效。

详细说明请参考官方文档:文档中心

3,动态申请权限(以相机权限为例)

private permissions: Array<Permissions> = ['ohos.permission.CAMERA']
private context: common.UIAbilityContext = getContext() as common.UIAbilityContextHMPermission.with(this.context).permission(this.permissions).onGranted(() => {console.error(TAG, 'onGranted')}).onDenied((deniedArr: Array<Permissions>) => {console.error(TAG, 'onDenied deniedArr = ' + JSON.stringify(deniedArr))}).request()

permission()方法传入权限数组,支持批量申请权限;

onGranted():用户授权成功回调;

onDenied():用户拒绝授权时回调。回调中会将未同意的权限返回;

申请权限时,会主动校验该权限是否已授权,所以无需再校验是否已授权。如果需要校验是否已授权,可调用校验方法:

HMPermission.hasPermission(this.permissions)

用户拒绝授权,如果想在系统设置中引导用户打开授权,可以调用

HMPermission.openSystemSettings(this.context)

三,说明

该权限请求库已开源,项目地址,持续更新迭代中,有任何问题欢迎指出。

关键字:北京建设工程交易中心招标网_工业设计手绘_怎样做好服务营销_必应搜索引擎网站

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: