代码拉取完成,页面将自动刷新
针对于鸿蒙开发的权限请求框架,操作简单。
在需要的模块的oh-package.json5
中导入该依赖
{
"name": "...",
"version": "...",
"description": "...",
"main": "...",
"author": "...",
"license": "...",
"dependencies": {
"EasyPermission": "file:../PermissionLibrary"
}
}
在需要的页面中导入模块和编写代码
import { EasyPermissions } from 'EasyPermission';
// UI...
Button("蓝牙权限申请")
.onClick(() => {
EasyPermissions.createAction(getContext(this))
// 需要的权限集合,可变参数或者列表
.for("ohos.permission.ACCESS_BLUETOOTH")
// 可以缺省,可以查看文档的说明篇章3
.withConfig(definedPermissions)
// 执行权限申请
.execute(results => {
let message: string = results[0].status === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED
? "申请蓝牙权限成功"
: "蓝牙权限申请被拒绝"
console.info(message)
})
})
EasyPermissions.createAction(argument): argument联合3种类型
requestPermissionAction.execute(resultCallback: Callback<Array>):
Array<PermissionResult>
的原因是一次性可能申请多个权限PermissionResult
存在两个属性: 权限名称和授权状态requestPermissionAction.withConfig(definedPermissions): 说明
definedPermissions
这个参数。请勿手写,需要使用插件生成hvigor/hvigor-config.json5
文件中引用生成插件hvigorfile.ts
中使用插件/src/main/ets/easypermissions/DefinedPermissions.ets
import definedPermissions from '../easypermissions/DefinedPermissions'
permissionResult
会是拒绝的,且日志会输出警告引用生成式插件
{
"modelVersion": "5.0.0",
"dependencies": {
"EasyPermissionsPlugin": "file:../EasyPermissionsPlugin"
}
}
使用插件
import { hapTasks } from '@ohos/hvigor-ohos-plugin';
import { HvigorPlugin, HvigorNode } from '@ohos/hvigor';
import { scanPermissionsPlugin } from 'EasyPermissionsPlugin'
export default {
system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins:[scanPermissionsPlugin()] /* Custom plugin to extend the functionality of Hvigor. */
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。