1 Star 1 Fork 0

bomber/easy-permissions-for-ohos

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

EASY-PERMISSIONS

针对于鸿蒙开发的权限请求框架,操作简单。

快速上手

在需要的模块的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)
        })
    })

说明

  1. EasyPermissions.createAction(argument): argument联合3种类型

    • UIExtensionAbility: 在应用启动时调用
    • UIAbility: 在应用启动时调用
    • Context: 在UI中调用
  2. requestPermissionAction.execute(resultCallback: Callback<Array>):

    • 设计Array<PermissionResult>的原因是一次性可能申请多个权限
    • PermissionResult存在两个属性: 权限名称和授权状态
  3. requestPermissionAction.withConfig(definedPermissions): 说明

    • 您并没有definedPermissions这个参数。请勿手写,需要使用插件生成
    • 在项目的hvigor/hvigor-config.json5文件中引用生成插件
    • hvigorfile.ts中使用插件
    • 运行项目后,就会生成/src/main/ets/easypermissions/DefinedPermissions.ets
    • definedPermissions导入方式例如import definedPermissions from '../easypermissions/DefinedPermissions'
    • 申请没有存在于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. */
}

空文件

简介

在鸿蒙平台上运行的权限请求工具库 展开 收起
取消

发行版

暂无发行版

贡献者 (1)

全部

近期动态

7个月前推送了新的提交到 master 分支,fb1df50...2b50b06
7个月前强推了提交到 master 分支,6c30e8b...fb1df50
7个月前推送了新的 master 分支
7个月前创建了仓库
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mySpaceHome_tonly_pam/easy-permissions-for-ohos.git
git@gitee.com:mySpaceHome_tonly_pam/easy-permissions-for-ohos.git
mySpaceHome_tonly_pam
easy-permissions-for-ohos
easy-permissions-for-ohos
master

搜索帮助