全网真正解决百度定位只定位一次的问题(亲测有效)
全网真正解决百度定位只定位一次的问题(亲测有效)
关于百度定位初始化完之后,只回调一次BDAbstractLocationListener的问题,也是困扰了我半天,网上找了半天答案,基本都说是配置的问题,但是我看了下我的配置,我敢发四绝对没问题,那么配置没问题,再有可能就是sha1获取的有问题,但是我找了其他的工具获取sha1,跟我之前按照官网获取的sha1一模一样,所以全网给的答案都并不能真正解决定位的问题,真正解决的办法看下面,亲测有效
就是初始化完LocationClient后,“一定给他变成成员变量”,一定给他变成成员变量"一定给他变成成员变量",重要的事情说三遍,否则就只会定位一次,再也定位不了了,以下是我的完整代码:
public class WXEntryActivity extends AppCompatActivity implements IWXAPIEventHandler {private LocationClient locationClient;@Overridepublic void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState)//初始化百度定位initBaiduSDK();}private void initBaiduSDK() {locationClient = new LocationClient(getApplicationContext());locationClient.registerLocationListener(bdAbstractLocationListener);LocationClientOption locationClientOption = new LocationClientOption();//设置是否需要地址信息,默认不需要。设置为true后,可以再listener中通过getCountry()、getProvice()、getCity()等方法得到具体的地区街道信息locationClientOption.setIsNeedAddress(true);locationClientOption.setCoorType("bd09ll");//设置坐标类型locationClient.setLocOption(locationClientOption);locationClient.start();}BDAbstractLocationListener bdAbstractLocationListener = new BDAbstractLocationListener() {@Overridepublic void onReceiveLocation(BDLocation bdLocation) {StringBuilder sb = new StringBuilder();sb.append("纬度:").append(bdLocation.getLatitude()).append("\n");sb.append("经度:").append(bdLocation.getLongitude()).append("\n");sb.append("定位方式:");sb.append("地址:").append(bdLocation.getCountry()).append(bdLocation.getProvince()).append(bdLocation.getCity()).append(bdLocation.getAddrStr());if (bdLocation.getLocType() == BDLocation.TypeGpsLocation) {sb.append("GPS");} else if (bdLocation.getLocType() == BDLocation.TypeNetWorkLocation) {sb.append("网络");}Logger.i("定位信息:" + bdLocation.getLatitude());Logger.i("定位信息:" + sb);}};}
至于为啥会这样,也许是百度SDK的bug
全网真正解决百度定位只定位一次的问题(亲测有效)相关推荐
- 真正解决百度定位只定位一次的问题
真正解决百度定位只定位一次的问题 关于百度定位初始化完之后,只回调一次BDAbstractLocationListener的问题,也是困扰了我半天,网上找了半天答案,基本都说是配置的问题,但是我看了下 ...
- 解决docker拉取镜像慢的方法(亲测有效)
文章目录 换源解决docker拉取镜像慢的方法(亲测有效) 遇到问题 解决方法 结果展示 后记 参考 换源解决docker拉取镜像慢的方法(亲测有效) 遇到问题 使用docker拉取 Jupyter ...
- android 百度定位只定位一次,解决百度定位,只能定位一次,后面没办法定位的方法(超级简单,一次见效)...
最近在做一个cordova+vue的项目,期间要做一个打卡的功能,所以就需要使用到定位的功能,而cordova有一个插件可以使用,但是在安卓端的话会产生偏移,不准确,所以就不用cordova的定位插件 ...
- 卧槽!百度网盘宣布 VIP 开放免费领取!亲测有效!!
可能是感受到了其它网盘的威胁,最近百度网盘动静挺大,比如这两天百度网盘搞了一个活动,新用户可以免费领取 7 天会员,老用户也可以领取. 领取方法很简单,复制活动链接到浏览器中打开,点击领取网盘会员-前 ...
- 解决win10开机内存过高的办法(亲测有效)
我遇到的情况 在安装vmware虚拟机前,开机内存一直维持在25%左右(8G),后来因为在机器上安装VS2015出现很多报错,就在虚拟机中安了,用过几次后发现即使没有运行虚拟机,开机内存竟然还会超过7 ...
- mysql百度翻译_百度翻译与谷歌翻译哪个好,亲测给你们看
搞IT的,自然会经常看到英文,对于大部分人来看,就算英语再好,总没有中文看起来有效率,所以免不了要翻译看中文再看,正好最近我在翻译Spring 官方的文档(这些文档我陆续放在今日头条上了,可以关注我) ...
- ubuntu16.04+intel无线网卡无法连接WiFi解决方法,下载驱动,升级内核(亲测有效)
这是一个缠绕了我差不多有大半年的噩梦,作为一个程序员,笔记本怎么可能不装linux系统,但是我的笔记本神舟系列,买回来屡次三番重装系统,废了很多功夫,网络连接那里一直就没有WiFi选项. 无奈之下,我 ...
- 解决Git中fatal: refusing to merge unrelated histories(亲测)
Git的报错 在使用Git的过程中有时会出现一些问题,那么在解决了每个问题的时候,都需要去总结记录下来,下次不再犯. 一.fatal: refusing to merge unrelated hist ...
- 解决 Navicat 无法导入带外键的json 亲测有效!
进入mysql数据库,设置全局外键检查忽略 临时的解决办法是: set @@global.foreign_key_checks = 0; 在导入完毕后 set @@global.foreign_key ...
最新文章
- 为什么不建议你用a.equals(b)判断对象相等
- Gulp 自动化的项目构建工具
- vue cli3.0 引入eslint 结合vscode使用
- 《移动优先与响应式Web设计》一上册 移动优先
- Erlang命令行提示符汇总
- python文件处理seek_python文件操作 seek(),tell()
- 798·锣鼓巷·牛街
- 主网已经上线的币有哪些_什么是主网币圈主网上线意味着什么?
- 前端的葵花宝典 - 红宝书《JavaScript高级程序设计(第4版)》学习笔记
- MSSOAP与WebService
- python中的yield使用详解
- Oracle 项目就是那回事 ----表空间的管理
- python学习笔记之数据类型(二)
- Xshell 5 免费版本安装过程
- 广联达软件未检测到加密锁
- C语言之二维数组定义、初始化、赋值、求最大最小、求和
- matlab的textscan,matlab中textscan函数的使用记录
- 苹果“教主”乔布斯:一个人的世界
- SpannableStringBuilder: SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length关于edittext找不到输入值这个
- leetcode:Add Two Numbers(java)