android студия fusedlocationprovider последнее местоположение иногда ноль - PullRequest
0 голосов
/ 28 марта 2020

Привет Я использую следующий код, чтобы получить широту и долготу последнего местоположения.

Иногда он работает, но время от времени возвращает ноль. Я буду сидеть и тестировать его в одном и том же месте в течение нескольких минут, и один раз он будет работать нормально, в следующий раз он выйдет нулевым.

Как я тестирую это следующим образом:

Ожидание загрузки действия (приведенный ниже код запускается при создании действия)

Затем я пу sh пункт меню, который получает местоположение (широту и долготу), которое было вычислено в Создает и передает его с намерением в другое действие.

В некоторых случаях это падает, потому что значения lat и long равны нулю.

Возможно, потому что я иногда слишком быстро нажимаю кнопку меню а метод по созданию не закончен?

Спасибо


if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && checkSelfPermission(Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            fusedLocationProviderClient.getLastLocation().addOnSuccessListener(this, new OnSuccessListener<Location>() {
                @Override
                public void onSuccess(Location location) {
                    dblLatitude = location.getLatitude();
                    dblLongitude = location.getLongitude();
                }

            });
        } else {
            requestPermissions(new String[]{Manifest.permission.ACCESS_FINE_LOCATION}, MY_PERMISSION_REQUEST_FINE_LOCATION);
            requestPermissions(new String[]{Manifest.permission.ACCESS_COARSE_LOCATION}, MY_PERMISSION_REQUEST_COARSE_LOCATION);
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...