我得到了这条小线:
int meter = 1;
update 5000; //1 ms
globalconstant.mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, (long) update, meter,globalconstant.mlocListener);
有人可以告诉我这是什么意思吗?这是否意味着gps更新时间是5秒,如果位置改变1米,如果我4次在5秒内移动1米,它在5秒刷新可能4次?
答案 0 :(得分:3)
iirc意味着它将每5秒检查一次位置,并且在每次检查后,如果移动超过1米,它将通知mlocListener。 (如果你移动不超过1米,它将不会通知)
这意味着您每5秒最多获得 1次更新 - 但可能会更少(例如,如果您不移动,您的应用将无法获得位置更新)。
至少,它应该如何运作。鉴于GPS不准确等,即使你站着不动,你也可能最终获得位置更新(我想 - 自从我玩GPS代码以来已经有一段时间了)
答案 1 :(得分:0)
您可以查看位置管理器Documentation。语法为requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)
因此,在您的情况下,至少需要5秒才能获取GPS,距离精度可达1米。
答案 2 :(得分:-1)
这意味着GPS将尝试每5秒计算一次设备位置。如果计算出的新位置距离前一个位置超过1米,则它将使用新的Location作为参数调用LocationListener。如果新位置距离前一个位置接近一米,它将被丢弃,并且不会调用监听器。
查看此处的文档:Location Manager