#鸿蒙通关秘籍#如何检查应用在HarmonyOS NEXT中的权限

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
SQL暗影幽魂

使用权限管理器检查应用是否有特定权限:

import bundleManager from '@ohos.bundle.bundleManager';
import abilityAccessCtrl from '@ohos.abilityAccessCtrl';

/**
 * 校验应用是否授予权限
 * @param permission :权限名称数组
 * @returns Promise<abilityAccessCtrl.GrantStatus> :权限状态
 */
async function checkAccessToken(permission: Permissions): Promise<abilityAccessCtrl.GrantStatus> {
  const atManager = abilityAccessCtrl.createAtManager();
  let grantStatus: abilityAccessCtrl.GrantStatus = 0;

  try {
    const bundleInfo = await bundleManager.getBundleInfoForSelf(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION);
    const appInfo = bundleInfo.appInfo;
    const tokenId = appInfo.accessTokenId;
    grantStatus = await atManager.checkAccessToken(tokenId, permission);
  } catch (err) {
    console.error(`getBundleInfoForSelf failed, code is ${err.code}, message is ${err.message}`);
  }
  
  return grantStatus;
}
分享
微博
QQ
微信
回复
2天前
相关问题
应用在CPU占用情况如何线上分析
1457浏览 • 1回复 待解决
应用在后台时发送请求失败问题
435浏览 • 1回复 待解决
基础类型通知主要应用在哪些方面?
470浏览 • 1回复 待解决