我是安卓新手。我想每隔 3 分钟获取一次 GPS 位置,但我每秒都会获取一次位置更新。
我怎样才能避免这种情况?
请提出一些建议。我正在使用以下代码:
captureFrequencey=3*60*1000;
LocationMngr.requestLocationUpdates(
LocationManager.GPS_PROVIDER, captureFrequencey, 0, this);
LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 0, this);
那是因为您将最小距离设置为 0。将其更改为 100 米并检查!
LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, captureFrequencey, 100, this);
请参阅文档。
Lazy Ninja 已经为您提供了解决方案。
但是您应该明白,当您调用请求位置更新时,它会检查条件 min time 和 min dist,如果有人为真,它会捕获位置。在您的代码中
LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER,
captureFrequencey, 0, this);
你提到 0 作为最小距离,这个条件一直都是真的。因此,您会收到频繁的位置更新。
希望这些信息对您有所帮助。
请参阅文档中的位置策略
只需快速添加到所提供的正确答案...设置更新时间和距离在所有设备上都不会完全相同。
这些参数被视为位置提供者的“提示”。
因此,虽然这是一种很好的做法,但某些设备可能并不总是遵循这些确切的值。