定位SDK返回时间问题

关于怎么使用定位SDK ,这里不做介绍,可以去看api:http://developer.baidu.com/map/index.php?title=android-locsdk/guide/v5-0

我只是说明一下我在开发过程中遇到的问题,发送定位请求后,需要BDLocationListener里回调方法,然后通过BDLocation这个类去get到定位返回的信息。

BDLocation有一个getTime()方法,获取时间戳,但是这个时间戳只会返回第一次请求的信息,根据lbs的百度工程的反馈,他们说这个getTime()的值目前就是固定不变的,需要自己去调用系统时间。

但是在调用系统时间的时候,还需要注意一个问题,api文档上面将定位返回的信息全都使用StringBUffer来追加并打印log,如果我把我获得的系统时间也append()到StringBuffer里面,那么我多次请求后的log打印出的系统时间也是不变的。 之后我没有将系统时间append()进去,而是直接在回调方法里直接log出来,这样系统时间才会发生改变。

由于我在调试过程中一直保持位置不变,所以还不清楚这些问题跟位置是否变化有无关系。但是之前有看过一篇博客,说是开始定位后,sdk会根据定位的依据判断位置是否变化,如果没有变化,则不会发送网络请求,也就是说,log还是会打印出上一次get到信息。不过这个依据具体是什么,也不清楚。所以目前不清楚的地方有一点,如果位置发生变化后再定位,getTime()的值会不会改变。

原文地址:https://www.cnblogs.com/robben/p/4720559.html