Android LocationManager多次提供相同的位置(Nexus 5)

时间:2014-05-28 12:27:42

标签: android locationmanager nexus-5

当我在手机上使用LocationManager时,对于几乎所有Nexus 5测试设备,LocationManager每分钟检测一次相同的位置(我每隔60秒听一次该位置)。要清楚我实际使用的代码:

    mLocationManager.requestLocationUpdates(60*1000,
            0,
            criteria),
            mLocationUpdateListener, Looper.getMainLooper());

标准是从服务器设置的,只定义了所需的准确度( Criteria.ACCURACY_COARSE Criteria.ACCURACY_FINE )。

因此,对于我的其他测试设备(Nexus 4和Samsung S3),我对位置管理器没有任何问题。它总是每60秒提供一个新位置。但是Nexus 5设备似乎在某个时刻缓存了这个位置,所以我向服务器发送了5次完全相同的位置,即使我已经离那个位置只有几百米了。

有没有人知道可能是什么问题?如果您有兴趣,我还可以附加mLocationUpdateListener的代码,但它只是将位置发送到服务器。

编辑:始终在后台服务中获取位置。我可以通过在前台打开谷歌地图来解决这个问题。但当然,这不能解决我的问题。

编辑解决方案:似乎Play服务无法在所有6台Nexus 5测试设备上运行。重新启动所有设备后,我无法重现那种奇怪的行为......

编辑2 :我再次偶然发现这种行为,即使重新启动手机,它也会一直显现......

1 个答案:

答案 0 :(得分:0)

尝试这个

mLocationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mLocationUpdateListener);