初始化定位 SDK


1. 为了适配合规要求,调用 SDK 的第一个接口应该是隐私政策合规接口。

TencentLocationSDK.setPrivacyPolicyAgreement(true)

2. 只有在用户同意隐私政策后, 再使用 TencentLocationSDKinit 方法初始化,建议在 EntryAbilityonCreate 方法中设置。

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    TencentLocationSDK.init(this.context, 'YourApiKey', 'YourDeviceID')
  }
}
  • YourApiKey接入指南中获取的 ApiKey。
  • YourDeviceID:开发者自行设置,一般为UUID,每个用户单独用一个,不可太短,用来排查定位问题。

3. 初始化完成后, 再获取 TencentLocationManager 的实例。

TencentLocationManager.getInstance()

4. 在使用具体功能前, 需要向用户请求对应的权限。

try {
  const permissions: Array<Permissions> = ['ohos.permission.APPROXIMATELY_LOCATION', 'ohos.permission.LOCATION'];
  const atManager = abilityAccessCtrl.createAtManager()
  atManager.requestPermissionsFromUser(this.context, permissions).then((data) => {
    console.info(TAG, `requestPermissionsFromUser result: ${JSON.stringify(data)}`)
  }).catch((error: BusinessError) => {
    console.error(TAG, `requestPermissionsFromUser failed: ${JSON.stringify(error)}`)
  })
} catch(error) {
  console.error(TAG, `catched error: ${JSON.stringify(error)}`)
}

这篇文章对您解决问题是否有帮助?

已解决
未解决