Я пытался получить данные текущего местоположения, используя FusedLocationProviderClient в Android.Я всегда получаю нулевое значение для переменной местоположения. Как это исправить?
Я пытался выполнить шаги с веб-сайта разработчика Android для FusedLocationProviderClient, это не помогло.
mFusedLocationClient = LocationServices.getFusedLocationProviderClient(context);
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(context, "Location permission Required", Toast.LENGTH_SHORT).show();
} else {
mFusedLocationClient.getLastLocation().addOnSuccessListener(new OnSuccessListener<Location>() {
@Override
public void onSuccess(Location location) {
if (location != null) {
mLocation = location;
Log.d(TAG, "getLocation: "+mLocation.getLatitude()+","+mLocation.getLongitude());
}
locationRequest = LocationRequest.create();
locationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
locationRequest.setInterval(20 * 1000);
locationCallback = new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
super.onLocationResult(locationResult);
if (locationResult == null) {
return;
} else {
for (Location location : locationResult.getLocations()) {
if (location != null) {
mLocation = location;
Log.d(TAG, "getLocation: "+mLocation.getLatitude()+","+mLocation.getLongitude());
}
}
}
}
};
if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(context, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
Toast.makeText(context, "No Location Permission", Toast.LENGTH_SHORT).show();
}
else {
mFusedLocationClient.requestLocationUpdates(locationRequest, locationCallback, Looper.myLooper());
}}
});
Я ожидаю, что этот код вернет данные текущего местоположения.