使用网络提供商更新位置

时间:2013-01-09 12:16:58

标签: android networking provider locationmanager

我的要求是每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秒内调用,然后调用10575,...等等。

我的要求是每隔 105秒获取位置更新,而不是不同的持续时间/期间。 如果没有找到给定更新的位置,我想获得最后的已知位置。

请建议我解决此问题的方法。

2 个答案:

答案 0 :(得分:0)

  1. 将MINIMUM_DISTANCE_CHANGE_FOR_UPDATES的值设置为500或其他但不是零。

  2. 如果您想要上一个已知位置,请使用

  3. 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