定位 SDK 的错误码分为三类: 返回值错误码、回调错误码和步骑行惯导错误码。
通过 requestLocationUpdates、requestSingleFreshLocation 的返回值获取。
| 返回值 | 含义 | 排查策略 |
|---|---|---|
| 0 | 注册位置监听器成功 | — |
| 1 | 设备缺少使用腾讯定位 SDK 需要的基本条件 | 检查设备是否具备 GPS、Wi-Fi 等定位硬件 |
| 2 | 配置的 Key 不正确 | 检查 Manifest 中 TencentMapSDK 的 Key 是否正确;或检查 TencentLocationManagerOptions.setKey() 传入的值 |
| 3 | 自动加载 libtencentloc.so 失败 |
1、检查工程中 so 文件的 CPU 架构是否与设备匹配; 2、Android Studio 项目检查 gradle 是否正确指向 so 文件加载位置 |
| 4 | 未设置或未同意用户隐私 | 确保在调用任何 SDK 接口前已调用 TencentLocationManager.setUserAgreePrivacy(true) |
通过 TencentLocationListener.onLocationChanged 回调中的 error 参数获取。
| 错误码 | 值 | 含义 | 排查策略 |
|---|---|---|---|
| 0 | 定位成功 | — | |
| 1 | 网络问题引起的定位失败 | 检查设备网络连接是否正常; 确认 INTERNET、ACCESS_NETWORK_STATE 权限已声明 |
|
| 2 | GPS、Wi-Fi 或基站错误引起的定位失败 | 1、确认设备所处环境能采集到定位凭据(偏远地区、地下车库、电梯内等可能无法采集); 2、检查定位开关是否开启、Wi-Fi 是否开启、App 是否已授予定位权限 |
|
| 4 | 无法将 WGS84 坐标转换成 GCJ-02 坐标 | 检查 libtencentloc.so 是否正常加载(动态库加载失败会导致坐标转换不可用) |
|
| 404 | 未知原因引起的定位失败 | 开启本地日志,复现后联系技术支持排查 |
通过 startDrEngine 的返回值获取。
| 返回值 | 含义 | 排查策略 |
|---|---|---|
| 0 | 启动成功 | — |
| -1 | 传感器有缺失或没有 GPS 芯片 | 通过 isDrSupport() 提前判断设备是否支持 |
| -2 | 已经启动,无需重复启动 | 检查代码是否重复调用了 startDrEngine,需先 terminateDrEngine() 后再重新启动 |
| -3 | 传感器启动失败 | 检查设备传感器模块是否正常工作 |
| -4 | GPS 启动失败 | 检查 GPS 是否开启, 确认已授予 ACCESS_FINE_LOCATION 权限 |
| -5 | 没有位置权限 | 确认已授予 ACCESS_FINE_LOCATION 权限 |
| -6 | 未设置或未同意隐私 | 确保已调用 TencentLocationManager.setUserAgreePrivacy(true) |
| -7 | lib 加载失败 | 检查 DR 定位库(so 文件)是否正确集成 |
当定位失败时,建议按以下顺序逐步排查:
ACCESS_FINE_LOCATION、ACCESS_COARSE_LOCATION 是否声明并动态授予setUserAgreePrivacy(true)libtencentloc.so 是否存在且架构匹配
有帮助
没帮助