我在一些家庭位置附近丢弃了几个地理围栏(范围越来越大).当我得到越过栅栏的意图时,我从LocationClIEnt中检索最后一个已知位置并使用它.除了我还注册了更新模式PRIORITY_BALANCED_POWER_ACCURACY的常规位置更新.
大部分时间这种方法都很好,但有时会发生这种情况:
时间000秒 – (Lat,Lon,Accuracy)=(48.127316,11.5855167,683.0)
时间120秒 – (Lat,Accuracy)=(48.1260497,11.5731745,31.823)
时间300秒 – (Lat,Accuracy)=(48.1217455,11.5641666,143.81)
时间420秒 – (Lat,Accuracy)=(48.1189942,11.559061,36.0)
时间600s – (Lat,683.0)
请注意,所有这些位置都是在getLastKnownLocation()之前检索的.这里看起来很可疑的是,第一个和最后一个位置是相同的(即使在其他属性中),更具体:
* intent at time 0: *component: ComponentInfo{package.Class}key [location]: Location[mProvIDer=fused,mTime=1373524391934,mLatitude=48.127316,mLongitude=11.5855167,mHasAltitude=false,mAltitude=0.0,mHasspeed=false,mSpeed=0.0,mHasbearing=false,mbearing=0.0,mHasAccuracy=true,mAccuracy=683.0,mExtras=Bundle[mParcelledData.dataSize=352]]* intent at time 600: *component: ComponentInfo{package.Class}key [location]: Location[mProvIDer=fused,mTime=1373524994871,mExtras=Bundle[mParcelledData.dataSize=352]]* note the ~600 s difference in the timestamp *
我不明白这是怎么发生的,因为两者之间的位置既较新又更准确.此外,旧位置上的新时间戳让我感到好奇……使用old API时显然发生了类似的事情,但这个新的位置提供程序只是被称为融合,所以我无法区分GPS和WPS的传感器……如果是电池塔切换问题(在关于旧API的链接问题中概述)那么为什么如果看到更近的塔,电话会连接到“远方”塔?
为什么会这样?
解决方法 第一个和最后一个点是使用细胞三角测量得到的.错误/准确性是基于单元格的位置的典型情况,看起来Google的省电逻辑决定切换到单元格即可,即使您说其最近的历史记录包括更接近的点. 总结以上是内存溢出为你收集整理的Android LocationClient.getLastLocation()返回带有新时间戳的旧且不准确的位置全部内容,希望文章能够帮你解决Android LocationClient.getLastLocation()返回带有新时间戳的旧且不准确的位置所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)