Как остановить FusedLocationProviderClient от возвращения того же места - PullRequest
0 голосов
/ 01 июля 2018

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

Этот метод дает мне текущую широту и долготу

 private void currentCoordinate() {
    //getting the user last known location
    if (ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, android.Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
        return;
    }
    mFusedLocationClient.getLastLocation()
            .addOnSuccessListener(this, new OnSuccessListener<Location>() {
                @Override
                public void onSuccess(Location location)                        if (location != null) {
                        System.out.println(location.getLatitude() + "llloction");

                        getCurrentLocation(location.getLatitude(), location.getLongitude());
                    }
                }
            });
}

Это метод получения адреса по широте и долготе

private void getCurrentLocation(double latitude , double longitude  ) {

    Geocoder gCoder = new Geocoder(this);
    List<Address> addresses;

    try {
        addresses = gCoder.getFromLocation(latitude, longitude, 1);
        if (addresses != null && addresses.size() > 0){
            String stringForFragment = addresses + "";
            String test = stringForFragment;

            //split the address text for the first time
            test = test.
                    substring(test.indexOf("[addressLines=["),test.indexOf("],feature"));
            //split the adress text for the second time
            String finalTest = test.substring(test.indexOf(":") + 1);

            mPlaceAutocompleteFragment.setText(finalTest);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...