在特定时间间隔(周期性GPS问题)期间可能导致GPS问题变长的原因是什么?

时间:2013-07-01 21:54:20

标签: android gps locationlistener

我开发了一个每天运行的工业地理跟踪应用程序。它使用GPS很长一段时间,并且需要准确(仅限GPS)和频繁(〜每5秒)更新。

虽然此应用程序在多个相同的硬件型号(Samsung Tab2)上运行,但某些设备不会报告可变长度间隔(2分钟到1小时)的位置更新。 (奇怪的是,这种“停电”时期经常发生在格林威治标准时间15:00-19:00 + 2)。此外,这往往只发生在一部分设备上,这表明存在硬件问题。

另一种可能性是我的processLocation方法在LocationListener.onLocationChanged中调用时间太长并且卡住(?)。 (当然,这并不能解释为什么问题在特定时间段内特定于某个设备子集。)

这是该代码的复制品:

mLocationListener = new LocationListener() {
 public void onLocationChanged(Location location) {
  if (location.getProvider().equals("gps") && location.getAccuracy() < accuracyThresh) {
   processLocation(location, time);
  } else {
   discardLocation(location, time);
  } 
 }
 public void onProviderDisabled(String provider) {
 }
 public void onProviderEnabled(String provider) {
 }
};

在停电期后,问题似乎无法解决。

这可能是相关的(What causes erratic GPS estimates during certain time intervals?)虽然这里出现这个问题的时间没有任何系统性。

在这种情况下,我很难确定这是否是由我的代码中的错误引起的。

我想知道是否有人有类似的经历或者能指出我正确的方向。有什么调试建议吗?非常感谢提前!

1 个答案:

答案 0 :(得分:0)

有几个因素会影响GPS的准确性。在查找代码中的错误之前,我建议您查看以下信息:

What factors influence GPS accuracy the most?

Factors affecting GPS accuracy