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