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

HarmonyOS
2024-12-02 14:52:23
928浏览
收藏 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;
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
分享
微博
QQ
微信
回复
2024-12-02 16:24:30


相关问题
HarmonyOS 应用在投屏期间如何保活
738浏览 • 1回复 待解决
应用在CPU占用情况如何线上分析
2098浏览 • 1回复 待解决
恭喜您,今日已阅读两篇内容,特奖励+2声望, 快来领取吧。