整合百度sdk遇到问题

项目需要整合百度定位sdk,把遇到的问题写下来, 希望对其他人有一点帮助

1、android studio项目应把百度定位so文件放到armeabi-v7a下一份,不然定位可能返回162错误
2、使用虚拟运营商网络不能定位成功
3、在application中初始化LocationClient,一个应用中只初始化一次定位服务;
4、如非必要,无需在自定义的Service中初始化定位SDK,定位SDK本身是Service;
5、开发者在Android 6.0下,除了位置权限外,建议同时申请READ_PHONE_STATE和WRITE_EXTERNAL_STORAGE权限;
6、使用过程中,start定位服务后,尽量不要获得结果后就立即stop定位服务
7、定位SDK的调用必须在主线程中。
8、 要使用真机。在虚拟机上无法进行定位测试。
9、 必须在定位SDK启动前设定好参数,例如是否使用GPS,扫描时间间隔设置等
10、定位SDK必须注册GPS和网络的使用权限
11、使用定位SDK请保证网络连接通畅,GPS定位方式不需要连网,但GPS在室内是无法使用的(这是常识)。
12、若需要返回的定位结果里包含地址信息,请保证网络连接,且开启获得地址信息(有这个接口,默认不返回地址)。
13、定位SDK可以返回bd09、bd09ll、gcj02三种类型坐标,若需要将定位点的位置通过百度Android地图 SDK进行地图展示,请返回bd09ll,将无偏差的叠加在百度地图上。
14、有的移动设备锁屏后为了省电会自动关闭网络连接,此时网络定位模式的定位失效。此外,锁屏后移动设备若进入cpu休眠,定时定位功能也失效。若您需要实现在cpu休眠状态仍需定时定位,可以用alarmManager 实现1个cpu可叫醒的timer,定时请求定位。
15、百度定位SDK采用的是混合定位模式(GPS、基站、WIFI),暂无直接的基站定位(即根据cellID返回定位值)的接口
整合百度sdk遇到问题_第1张图片

最后附上 定位返回错误码:
61 : GPS定位结果,GPS定位成功。
62 : 无法获取有效定位依据,定位失败,请检查运营商网络或者wifi网络是否正常开启,尝试重新请求定位。
63 : 网络异常,没有成功向服务器发起请求,请确认当前测试手机网络是否通畅,尝试重新请求定位。
65 : 定位缓存的结果。
66 : 离线定位结果。通过requestOfflineLocaiton调用时对应的返回结果。
67 : 离线定位失败。通过requestOfflineLocaiton调用时对应的返回结果。
68 : 网络连接失败时,查找本地离线定位时对应的返回结果。
161: 网络定位结果,网络定位定位成功。
162: 请求串密文解析失败,一般是由于客户端SO文件加载失败造成,请严格参照开发指南或demo开发,放入对应SO文件。
167: 服务端定位失败,请您检查是否禁用获取位置信息权限,尝试重新请求定位。
502: key参数错误,请按照说明文档重新申请KEY。
505: key不存在或者非法,请按照说明文档重新申请KEY。
601: key服务被开发者自己禁用,请按照说明文档重新申请KEY。
602: key mcode不匹配,您的ak配置过程中安全码设置有问题,请确保:sha1正确,“;”分号是英文状态;且包名是您当前运行应用的包名,请按照说明文档重新申请KEY。
501~700:key验证失败,请按照说明文档重新申请KEY。
在项目grdle中配置导入.so:
android{
……
sourceSets{
main{
jniLibs.srcDirs = [‘libs’]
}
}

}

你可能感兴趣的:(移动开发)