//1.在开发应用前,需要先申请相机相关权限,确保应用拥有访问xx的权限。在“module.json5”文件中配置xx权限,具体配置方式。
//2.使用接口请求requestPermissionsFromUser用户授权。具体申请方式及校验方式,请参见向用户申请授权。
//3.新建文件
import { abilityAccessCtrl, Context, PermissionRequestResult, common, Permissions } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
class RequestPermissionsFromUser {
init(context: Context, permissionList: Permissions[]) {
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(context,permissionList ).then((data: PermissionRequestResult) => {
console.info(`requestPermissionsFromUser success, result: ${data}`);
console.info('requestPermissionsFromUser data permissions:' + data.permissions);
console.info('requestPermissionsFromUser data authResults:' + data.authResults);
console.info('requestPermissionsFromUser data dialogShownResults:' + data.dialogShownResults);
console.info('requestPermissionsFromUser data errorReasons:' + data.errorReasons);
}).catch((err: BusinessError) => {
console.error(`requestPermissionsFromUser fail, code: ${err.code}, message: ${err.message}`);
});
}
}
export const requestPermissionsFromUser: RequestPermissionsFromUser = new RequestPermissionsFromUser()
//4.函数调用
import { requestPermissionsFromUser } from "./RequestPermissionsFromUser";
import { Permissions } from "@kit.AbilityKit";
import { abilityAccessCtrl, Context, PermissionRequestResult, common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
@ComponentV2
export struct ScanKit {
@Event onScanResult: (result: string) => void;
aboutToAppear(): void {
let permissionList: Permissions[] = ['ohos.permission.CAMERA']
let context: Context = this.getUIContext().getHostContext() as common.UIAbilityContext;
requestPermissionsFromUser.init(context, permissionList)
}
build() {
Column() {
}
.width('100%')
.height('100%')
}
}