| name | baidu-location-android-sdk |
| description | 百度定位 Android SDK 集成与开发规范。覆盖 AK 配置、隐私合规、单次/连续定位、LocationClientOption 配置、地理围栏、逆地理编码;输出符合隐私与 AK 配置要求的 Android 定位方案。在开发 Android 定位功能、集成百度定位 SDK、使用 LocationClient、地理围栏、逆地理编码时使用。 |
| compatibility | Android, Gradle, Android Studio |
百度定位 Android SDK
目标与边界
- 目标:在 Android 工程中正确集成百度定位 SDK,给出符合隐私、AK、坐标系规范的定位实现方案。
- 负责:单次/连续定位、LocationClientOption 参数配置、地理围栏(圆形/多边形)、逆地理编码、BDLocation 字段解析;以技能内 references 为准。
- 不负责:百度地图 SDK 地图展示(见 baidu-map-android-sdk skill)、服务端逻辑、UI 视觉设计。
使用时机
满足其一即启用本技能:
- 关键词:百度定位、LocationClient、BDLocation、LocationClientOption、地理围栏、GeoFence、逆地理编码、BD09LL、坐标系
- 需求类型:获取当前位置、连续定位、轨迹记录、进出区域监控、坐标转地址、室内定位
按需加载:先根据需求在 reference.md 中选定文档,再引用对应 references 内容;需求含糊时先向用户澄清再给方案。
必须遵守的规则
-
隐私合规(v9.x+)
- 调用 SDK 任何接口前必须先征得用户同意并调用隐私接口:
LocationClient.setAgreePrivacy(true),且必须在 new LocationClient(context) 之前调用。见 overview.md 隐私合规小节。
-
AK 与配置
- 使用前需在控制台申请 Android SDK 密钥(AK),应用类型选「Android SDK」,填写包名、SHA1。AK 配置到 AndroidManifest 的
<meta-data>;包名与签名须与申请时一致。见 overview.md。
-
生命周期管理
- 在 Activity/Service 的
onDestroy 中必须调用 mLocationClient.stop(),避免定位服务持续运行消耗电量。
-
坐标系统一
-
监听先于启动
- 必须先调用
registerLocationListener 注册监听,再调用 start() 启动定位;否则可能收不到回调。
-
版本与 API 以工程为准
- 用户已集成 SDK 时,以其工程内版本为准。若某类或方法不存在,提示用户将依赖更新到兼容版本后再重试,勿强行写不存在的 API。
输出规范(可评估)
方案结构:需求 → 对应文档 → 配置与依赖 → 关键 API → 示例片段 → 注意事项。
参考索引