我的要求是每90秒获取一次位置更新。 我正在使用网络提供商。
我这样做如下:
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MINIMUM_TIME_BETWEEN_UPDATES,
MINIMUM_DISTANCE_CHANGE_FOR_UPDATES,
new MyLocationListener());
此处,在此方法中,我将90000
传递为MINIMUM_TIME_BETWEEN_UPDATES
,将0
传递为MINIMUM_DISTANCE_CHANGE_FOR_UPDATES
,因此预期的结果是侦听器方法{{1}应该每隔onLocationChanged()
秒调用一次。
但结果是90
方法首先在onLocationChanged()
秒内调用,然后在75
秒内调用,然后调用105
,75
,...等等。
我的要求是每隔 105
秒获取位置更新,而不是不同的持续时间/期间。
如果没有找到给定更新的位置,我想获得最后的已知位置。
请建议我解决此问题的方法。
答案 0 :(得分:0)
将MINIMUM_DISTANCE_CHANGE_FOR_UPDATES的值设置为500或其他但不是零。
如果您想要上一个已知位置,请使用
Location loc = LocationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
答案 1 :(得分:0)
if (mNetworkEnabled) {
mLocationMgr.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0,
locationListenerNetwork);
}
在我的应用程序中,我正在使用这样的位置管理器。 在这里看到同样的问题: Android: requestLocationUpdates updates location at most every 45 seconds