使用on可以监听应用权限变化,示例代码中监听的是ohos.permission.APPROXIMATELY_LOCATION权限变化,需要在module.json5进行相应的权限声明,参考代码如下:
import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit';
@Entry
@Component
struct Index {
aboutToAppear(): void {
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
let permissionList: Array<Permissions> = ['ohos.permission.APPROXIMATELY_LOCATION'];
try {
atManager.on('selfPermissionStateChange', permissionList, (data: abilityAccessCtrl.PermissionStateChangeInfo) => {
console.info('receive permission state change, data:' + JSON.stringify(data));
});
} catch (err) {
console.error(`catch err->${JSON.stringify(err)}`);
}
}
build() {
// ...
}
}