5

我是安卓新手。我想每隔 3 分钟获取一次 GPS 位置,但我每秒都会获取一次位置更新。

我怎样才能避免这种情况?

请提出一些建议。我正在使用以下代码:

captureFrequencey=3*60*1000;    
LocationMngr.requestLocationUpdates(
    LocationManager.GPS_PROVIDER, captureFrequencey, 0, this);
4

4 回答 4

3
LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 0, this);

那是因为您将最小距离设置为 0。将其更改为 100 米并检查!

LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 100, this);


请参阅文档

于 2013-04-17T07:27:45.913 回答
2

Lazy Ninja 已经为您提供了解决方案。
但是您应该明白,当您调用请求位置更新时,它会检查条件 min time 和 min dist,如果有人为真,它会捕获位置。在您的代码中

LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 
                                                captureFrequencey, 0, this);

你提到 0 作为最小距离,这个条件一直都是真的。因此,您会收到频繁的位置更新。
希望这些信息对您有所帮助。

于 2013-04-17T07:58:29.693 回答
0

请参阅文档中的位置策略

于 2013-04-17T07:28:43.843 回答
0

只需快速添加到所提供的正确答案...设置更新时间和距离在所有设备上都不会完全相同。

这些参数被视为位置提供者的“提示”。

因此,虽然这是一种很好的做法,但某些设备可能并不总是遵循这些确切的值。

于 2013-04-17T08:51:19.950 回答