Android requestLocationUpdates minimumtime + minimumdistance不起作用

时间:2012-05-07 14:53:50

标签: android locationlistener

locationmanager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationlistener);

据我所知,这行代码应该尽可能频繁地更新设备位置吗?具体来说,每0毫秒和0米(最小)。

好的,“最小”这个词在这里是关键,但是,为什么有时候这个位置的更新时间可能长达30多秒?我已经计划了一次更新和下一次更新之间的实际时间,而在WiFi上,即使我在代码中有0和0,它花了38秒。我甚至尝试了1000毫秒(1秒),但仍然不经常更新。

如何更频繁地进行此更新?为什么会这样回应?

谢谢!

1 个答案:

答案 0 :(得分:2)

简短的回答是:你不能(更频繁地更新)。

如果您将min_distance和min_time指定为零,则文档表明您将获得“尽可能频繁地更新”。所以你所看到的是“尽可能频繁”。通常你不会得到更新,除非有什么变化,所以如果你不动,你不一定会得到更新。此外,由于您使用的是网络位置而不是GPS,因此位置的准确性不是很好,所以您不应该经常更新。

此外,每个硬件供应商都以不同方式实现位置提供程序。因此,更新的频率由硬件供应商的实现决定。