错误码对照表

定位 SDK 的错误码分为三类: 返回值错误码回调错误码步骑行惯导错误码



返回值错误码

通过 requestLocationUpdatesrequestSingleFreshLocation 的返回值获取。

返回值 含义 排查策略
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 参数获取。

错误码 含义 排查策略
ERROR_OK 0 定位成功
ERROR_NETWORK 1 网络问题引起的定位失败 检查设备网络连接是否正常;
确认 INTERNETACCESS_NETWORK_STATE 权限已声明
ERROR_BAD_JSON 2 GPS、Wi-Fi 或基站错误引起的定位失败 1、确认设备所处环境能采集到定位凭据(偏远地区、地下车库、电梯内等可能无法采集);
2、检查定位开关是否开启、Wi-Fi 是否开启、App 是否已授予定位权限
ERROR_WGS84 4 无法将 WGS84 坐标转换成 GCJ-02 坐标 检查 libtencentloc.so 是否正常加载(动态库加载失败会导致坐标转换不可用)
ERROR_UNKNOWN 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 文件)是否正确集成

通用排查步骤

当定位失败时,建议按以下顺序逐步排查:

  1. 检查权限ACCESS_FINE_LOCATIONACCESS_COARSE_LOCATION 是否声明并动态授予
  2. 检查隐私合规 — 是否在初始化前调用了 setUserAgreePrivacy(true)
  3. 检查 Key 配置 — Manifest 或代码中的 Key 是否正确
  4. 检查 so 库libtencentloc.so 是否存在且架构匹配
  5. 检查网络 — 设备网络是否可用
  6. 检查定位开关 — 系统定位服务、Wi-Fi、GPS 是否开启
  7. 提供本地日志 — 开启本地日志,复现后联系技术支持排查

相关链接