Fusedlocationproviderclient возвращает Null - PullRequest
0 голосов
/ 27 мая 2020

Я пытаюсь узнать текущее местоположение пользователя в приложении с архитектурой MVVM. По какой-то причине он возвращает нулевое местоположение. Я пытаюсь получить его в своем репозитории и передать в ViewModel через LiveData.

Вот мой код репозитория:

public MutableLiveData<Location> getCurrentLocation() {

    mLocationRequest = LocationRequest.create();
    mLocationRequest.setInterval(120000); // two minute interval
    mLocationRequest.setFastestInterval(120000);
    mLocationRequest.setPriority(LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY);

    fusedLocationClient = LocationServices.getFusedLocationProviderClient(mApplication.getApplicationContext());

    fusedLocationClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
        @Override
        public void onSuccess(Location location) {
            if (location != null) {
                mLocation.setValue(location);
            }
        }
    });

    fusedLocationClient.getLastLocation().addOnFailureListener(new OnFailureListener() {
        @SuppressLint("LongLogTag")
        @Override
        public void onFailure(@NonNull Exception e) {
            Log.e("GET CURRENT LOCATION ERROR", e.getMessage());
        }
    });

    return mLocation;
}

Мои зависимости

 // Google Maps libraries
implementation 'com.google.android.gms:play-services-auth:18.0.0'
implementation 'com.google.android.gms:play-services-maps:17.0.0'
implementation 'com.google.android.gms:play-services-location:17.0.0'
implementation 'com.google.android.gms:play-services-places:17.0.0'
implementation 'com.google.android.libraries.places:places:2.2.0'

AndroidManifest :

    <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Что я делаю не так? Спасибо.

...