百度定位请查看官方开发文档
定位过程中出现经纬度为4.9E-324错误的可能情况,目前收集到四种:
1.权限错误
什么是权限错误呢?分为两种情况:
一是权限没有添加完全,没有从开发文档中完全拷贝到项目中,所以建议不要手写权限代码,copy就好
二是添加的权限在Android6.0以及以上版本中含有危险权限,没有动态申请,所以建议查看需要权限中哪些需要动态申请,然后再按照动态权限申请的方式获取权限,否则提示不能使用
2.so库加载错误
什么是so库呢?为什么会加载错误?
第一个问题:so库一般是用C或者C++编写的代码,Android通过JNI来调用。
第二个问题:因为so库中的代码是可以直接调用底层的硬件,而定位的so库需要和处理器关联,不同移动端的处理器又不一样 ,所以需要不同的so库对应的使用。所以建议把开发文档中的so库全部copy到项目中,不用考虑各种不同处理器手机的情况。
然后需要注意几个点:
so库一定要和jar包是同一版本的,要不然可能会有问题;
如果so库和jar包放在一块,即libs包下,则需要再module的gradle中,表示JNI调用libs包下的文件。
android {
...
sourceSets {
main {
jniLibs.srcDirs = ['libs']
}
}