Android 使用网络提供商更新位置

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()); 这里,在这个方

我的要求是每90秒更新一次位置。 我正在为此使用网络提供商

我的做法如下所示:

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);
    }