Решил (не уверен, что это наиболее эффективный способ, но если найду другой, сообщение будет обновлено). Класс, который расширяет класс Service
, должен просто реализовать LocationEngineCallback<LocationEngineRequest>
следующим образом:
public class LocationService extends Service implements LocationEngineCallback<LocationEngineResult>{
...
}
После этого мы просто устанавливаем запрос местоположения и получение lastLocation для текущего экземпляра ( this):
locationEngine.requestLocationUpdates(request, this, getMainLooper());
locationEngine.getLastLocation(this);
И в переопределенных методах объявите внутренний лог c:
@Override
public void onSuccess(LocationEngineResult result) {
//Handle Success
}
@Override
public void onFailure(@NonNull Exception exception) {
//Handle Failure
}
Конечно, не забудьте остановить обновления и удалить LocationEngine
после остановки услуги:
@Override
public void onDestroy() {
super.onDestroy();
locationEngine.removeLocationUpdates(this);
locationEngine = null;
}