鸿蒙 应用APL等级 和 检查用户是否授权

应用的等级可以分为以下三个等级,等级依次提高。

APL级别

说明

大白话

normal

默认情况下,应用的APL等级都为normal等级。

都能用

system_basic

该等级的应用服务提供系统基础服务。

要签名证书

system_core

该等级的应用服务提供操作系统核心能力。

仅对系统应用开放

不开放

检查用户授权:

  1. 创建程序访问控制管理器atManager。
  2. 同步获取当前应用的bundleInfo信息。
  3. 从bundleInfo中提取tokenID。
  4. 使用atManager校验tokenID是否包含每个所需权限,返回校验结果数组。
  5. 检查所有权限是否均为授予状态(abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED),是则返回true,否则返回false。
import { abilityAccessCtrl, bundleManager, Permissions } from '@kit.AbilityKit';

// 检查是否授权
  checkPermissions(permissions: Permissions[]) {
    // 程序访问控制管理
    const atManager = abilityAccessCtrl.createAtManager();
    // 获取 bundle 信息
    const bundleInfo = bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)
    // 提取 tokenID 标识
    const tokenID = bundleInfo.appInfo.accessTokenId
    // 校验应用是否被授予权限
    const authResults = permissions.map((item) => atManager.checkAccessTokenSync(tokenID, item))
    // 返回是否已授权结果
    return authResults.every(v => v === abilityAccessCtrl.GrantStatus.PERMISSION_GRANTED)
  }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值