Этот метод работал нормально до вчерашнего дня, когда он начал давать значение Null.
Ниже приведен калькулятор расстояния, который находит расстояние между моим текущим местоположением ячейки и адресом пользователя. Аргумент User фактически является адресом пользователя. "местоположение" является нулевым. Я даже попробовал OnLocationChange, но это не помогло.
float[] result;
private float dist(String User){
locationManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE);// last known locations
Criteria criteria= new Criteria();
provider = locationManager.getBestProvider(criteria,false);
if (ContextCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED
|| ContextCompat.checkSelfPermission(this,
Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED
||ContextCompat.checkSelfPermission(this,Manifest.permission.SEND_SMS)!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(Rider_Activity.this, new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,Manifest.permission.SEND_SMS}, 0);
} else {
Location location = locationManager.getLastKnownLocation(provider);
// Log.e("Current",location.toString());
LatLng user = geoLocate(User);
// Log.e("user",user.toString());
result = new float[1];
Location.distanceBetween(location.getLatitude(),location.getLongitude(), user.latitude, user.longitude, result);
}
// Log.e("dist",String.valueOf(result[0]/1000));
return result[0]/1000;
}