若应用需要用户二次授权,建议使用requestPermissionOnSetting()接口拉起权限设置弹框,引导用户进行授权。
// code-linter.json5
{
"rules": {
"@correctness/request-user-authorization-second-time-check": "suggestion"
}
} import { abilityAccessCtrl, common } from '@kit.AbilityKit';
export default class EntryAbility {
onCreate() {
const atManager = abilityAccessCtrl.createAtManager();
const context = getContext(this) as common.UIAbilityContext;
// 首次申请使用requestPermissionsFromUser
atManager.requestPermissionsFromUser(context, ['ohos.permission.CAMERA']);
// 第二次申请使用requestPermissionOnSetting拉起权限设置弹窗
atManager.requestPermissionOnSetting(context, ['ohos.permission.CAMERA']);
}
} import { abilityAccessCtrl, common } from '@kit.AbilityKit';
export default class EntryAbility {
onCreate() {
const atManager = abilityAccessCtrl.createAtManager();
const context = getContext(this) as common.UIAbilityContext;
// 只调requestPermissionsFromUser,未调requestPermissionOnSetting
atManager.requestPermissionsFromUser(context, ['ohos.permission.MICROPHONE']);
atManager.requestPermissionsFromUser(context, ['ohos.permission.READ_CALENDAR']);
}
}