Я хочу, чтобы моя служба Android переднего плана получала обновления местоположения каждый раз, когда местоположение изменяется на определенном расстоянии от предыдущего отчета (обратного вызова), но неясно, как это сделать. Я также хотел бы, чтобы между обновлениями был максимальный интервал.
Итак, логика такова: обновите, если location_change> = Z или time_since_last_callback> = T.
Приведенный ниже код не удовлетворяет параметру расстояния, но, насколько я могу судить, API имеет только минимальную, а не максимальную настройку.
private LocationRequest makeLocationRequest() {
LocationRequest locationRequest = LocationRequest.create();
locationRequest.setInterval(10*60*1000);
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setSmallestDisplacement(50);
return locationRequest;
}