为适配合规要求,调用 SDK 的第一个接口应该是隐私政策合规接口。
TencentLocationSDK.setPrivacyPolicyAgreement(true)
只有在用户同意隐私政策后,再使用 TencentLocationSDK 的 init 方法初始化,建议在 EntryAbility 的 onCreate 方法中设置。
export default class EntryAbility extends UIAbility {
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
TencentLocationSDK.init(this.context, 'YourApiKey', 'YourDeviceID')
}
}
[1.0.9 新增] 推荐使用
createInstance()方法创建实例,getInstance()方法已废弃。
// 下面 2 个方法功能一模一样(都是新建一个实例), 仅名称不同
// 推荐方式
TencentLocationManager.createInstance()
// 已废弃(仍可使用,但不推荐)
TencentLocationManager.getInstance()
在使用具体功能前,需要向用户请求对应的权限。
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)}`)
}
有帮助
没帮助