Устранение неполадок FusedLocationClient Сценарий отказа от обслуживания - PullRequest
0 голосов
/ 28 мая 2018

В настоящее время я могу получать обновления местоположения, пока служба доступна, но если служба недоступна, мне нужно получить ответ, чтобы я мог вызвать другой метод для решения этой ситуации.Из того, что я понял, является то, что это только два метода onLocationResult () и onLocationAvailability (), с которыми мне приходится работать с точки зрения использования requestLocationUpdates ().Ответы, которые я получил от onLocationAvailabilty, кажутся не очень точными, и если я на самом деле не работаю, этот метод может не вызываться fusedLocationClient в течение некоторого времени.Моя другая проблема заключается в том, что onLocationResult, похоже, не дает мне знать, если нет результата, что было бы очень полезно в моем случае.Каков наилучший способ узнать, если fusedLocationClient не может найти местоположение или в данный момент не работает?locationAvailability.isLocationAvailable (), как правило, дает мне ненадежный ответ за ложь, даже если у меня есть служба ...

    mFusedLocationClient.requestLocationUpdates(mLocationRequest, callback = new LocationCallback() {

                @Override
                public void onLocationResult(LocationResult locationResult) {
                    // do work here
                    onLocationChanged(locationResult.getLastLocation());}

                @Override
                public void onLocationAvailability(LocationAvailability locationAvailability) {

                }
            }, Looper.myLooper());
}

1 Ответ

0 голосов
/ 30 мая 2018

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...