Android 使用网络提供商更新位置
我的要求是每90秒更新一次位置。 我正在为此使用网络提供商 我的做法如下所示:Android 使用网络提供商更新位置,android,networking,provider,locationmanager,Android,Networking,Provider,Locationmanager,我的要求是每90秒更新一次位置。 我正在为此使用网络提供商 我的做法如下所示: locationManager.requestLocationUpdates( LocationManager.NETWORK_PROVIDER, MINIMUM_TIME_BETWEEN_UPDATES, MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, new MyLocationListener()); 这里,在这个方
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MINIMUM_TIME_BETWEEN_UPDATES,
MINIMUM_DISTANCE_CHANGE_FOR_UPDATES,
new MyLocationListener());
这里,在这个方法中,我将90000
作为更新之间的MINIMUM\u TIME>传递,将0
作为更新之间的MINIMUM\u DISTANCE\u CHANGE\u传递给,因此预期结果是侦听器方法onLocationChanged()
应该每隔90秒调用一次
但是结果是onLocationChanged()
方法首先在75
秒内被调用,然后在105
秒内被调用,然后在75
,105
。。。等等
我的要求是每隔90
秒更新一次位置,而不是不同的持续时间/周期。
如果找不到给定更新的位置,我希望获得最后一个已知位置
请告诉我解决这个问题的方法
将\u更新的最小\u距离\u更改\u的值设置为500或其他值,但不要设置为零
如果您想知道最后一个已知位置,请使用
Location loc=LocationManager.getlastnownlocation(LocationManager.NETWORK\u PROVIDER)代码>
在我的应用程序中,我使用这样的位置管理器。
请参见此处的相同问题:
我按照你的建议做了,并将更新的最小距离更改为500,但仍然得到了相同的结果。即使现在,我也得到了非统一持续时间的更新。Narendra DroidWorm给我们你的完整代码。我认为你的位置更新代码没有做错任何事情。它会工作得很好。我猜代码中有一些逻辑错误。
if (mNetworkEnabled) {
mLocationMgr.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER, 0, 0,
locationListenerNetwork);
}