Android - Fused Location: Как получить свежую локацию - PullRequest
0 голосов
/ 10 мая 2019

У меня есть приложение, которое позволяет использовать его, если пользователь находится в определенной области, то есть мне не нужно отслеживать пользователя, но я должен убедиться, что полученное местоположение свежо (даже если оно требует ожидания).

Какой лучший способ сделать это?В настоящее время использует: getLastLocation(), но иногда может получить предыдущее местоположение, понятно.

1 Ответ

0 голосов
/ 10 мая 2019

Вы можете зарегистрировать прослушиватель местоположения и перейти к коду, если выполняется условие местоположения:

locationCallback = new LocationCallback() {
    @Override
    public void onLocationResult(LocationResult locationResult) {
        if (locationResult == null) {
            return;
        }
        for (Location location : locationResult.getLocations()) {
            //if(this is the location) jump to the code which makes the app usable
        }
        //stay unusable
    };
};

получение местоположения может занять некоторое время.Если силой вы подразумеваете удерживать нить пользовательского интерфейса до тех пор, пока не будет доступно достаточно точное местоположение, то принудительное получение местоположения - плохая, но выполнимая идея.

...