仿 XPermission 写一个简单的鸿蒙权限申请工具类。
代码实现
import { abilityAccessCtrl, bundleManager, Context, Permissions } from '@kit.AbilityKit'
import { ArrayList } from '@kit.ArkTS'
export class PermissionUtil {
private static readonly sUtil: PermissionUtil = new PermissionUtil()
private mAtManager: abilityAccessCtrl.AtManager
private mTokenId: number
private mContext?: Context
private mPermissions: ArrayList<Permissions> = new ArrayList()
constructor() {
this.mAtManager = abilityAccessCtrl.createAtManager()
let bundleInfo = bundleManager.getBundleInfoForSelfSync(bundleManager.BundleFlag.GET_BUNDLE_INFO_WITH_APPLICATION)
this.mTokenId = bundleInfo.appInfo.accessTokenId
}
public static init(context: Context): PermissionUtil {
PermissionUtil.sUtil.mContext = context
return PermissionUtil.sUtil
}
public addPermissions(permission: Permissions): PermissionUtil {
this.mPermissions.add(permissio

本文介绍了一个在鸿蒙系统中模仿XPermission功能的简单权限申请工具类,包括权限初始化、添加、检测和申请等方法,以及其在应用中的使用示例。
最低0.47元/天 解锁文章





