错误码为201:权限验证失败。应用程序不具有调用API所需的权限,当前没有开启权限,开启权限。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-geolocationmanager-V5\#geolocationmanagergetcurrentlocation需要用代码打开权限弹窗,点击允许:import { common, abilityAccessCtrl, Permissions, PermissionRequestResult, Want } from '@kit.AbilityKit'; import { BusinessError } from '@kit.BasicServicesKit'; import { bundleManager } from '@kit.AbilityKit'; import { hilog } from '@kit.PerformanceAnalysisKit'; @Entry @Component struct Permission { @State message: string = 'Hello World'; @State userGrant: boolean = false @State intervalID: number = 0 async reqPermissionsFromUser(): Promise<number[]> { // hilog.info(0x0001, this.TAG, 'reqPermissionsFromUser start ') let context = getContext() as common.UIAbilityContext; let atManager = abilityAccessCtrl.createAtManager(); // let grantStatus = await atManager.requestPermissionsFromUser(context, ['ohos.permission.APP_TRACKING_CONSENT']); let grantStatus = await atManager.requestPermissionsFromUser(context, ['ohos.permission.APPROXIMATELY_LOCATION', 'ohos.permission.LOCATION']); // let grantStatus = await atManager.requestPermissionsFromUser(context, ['ohos.permission.APPROXIMATELY_LOCATION','ohos.permission.LOCATION']); return grantStatus.authResults; } // 申请权限 async requestLocationPermission() { let grantStatus = await this.reqPermissionsFromUser() for (let i = 0; i < grantStatus.length; i++) { if (grantStatus[i] === 0) { // 用户授权,可以继续访问目标操作 // hilog.info(0x0001, this.TAG, 'requestPermissionsFromUser success'); this.userGrant = true; } } } async aboutToAppear() { await this.requestLocationPermission(); } build() { RelativeContainer() { Text(this.message) .id('PermissionHelloWorld') .fontSize(50) .fontWeight(FontWeight.Bold) .alignRules({ center: { anchor: '__container__', align: VerticalAlign.Center }, middle: { anchor: '__container__', align: HorizontalAlign.Center } }) } .height('100%') .width('100%') } }
错误码为201:权限验证失败。应用程序不具有调用API所需的权限,当前没有开启权限,开启权限。参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-geolocationmanager-V5\#geolocationmanagergetcurrentlocation
需要用代码打开权限弹窗,点击允许: