интервал обновления в requestLocationUpdates - PullRequest
7 голосов
/ 14 июня 2011

Как мне обновить интервалы времени и расстояния или вызвать requestLocationUpdates снова с разными интервалами?

Мой код:

LocationManager locationManager = (LocationManager) activityObject.getSystemService(Context.LOCATION_SERVICE);

    cll = new CheckinLocationListener();

    LocationProvider gps = locationManager.getProvider(LocationManager.GPS_PROVIDER);

    // GPS

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, timeDelay, distanceDelay, cll);

    Location location = locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);

onLocationChanged:

if(location.getSpeed()>=0 && location.getSpeed()<= 3)
            {
                LocationsModel.this.distanceDelay = 25;
                LocationsModel.this.timeDelay = 10000;
            }
            else if(location.getSpeed()>=3 && location.getSpeed()<= 17)
            {
                LocationsModel.this.distanceDelay = 150;
                LocationsModel.this.timeDelay = 60000;
            }
            else if(location.getSpeed()>=17)
            {
                LocationsModel.this.distanceDelay = 300;
                LocationsModel.this.timeDelay = 240000;
            }

Iхотел бы использовать новые интервалы при следующей мере.

1 Ответ

7 голосов
/ 14 июня 2011

Сначала вам нужно будет позвонить locationManager.removeUpdates( cll );, а затем заново зарегистрироваться для получения обновлений, используя новый интервал.

...