Я использую эту функцию для поиска своего местоположения.
public static String getadrr() {
String adres = "";
String bestProvider = null;
Geocoder geocoder = null;
List<Address> user = null;
double lati, longi;
LocationManager lm = (LocationManager) cx.getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
criteria.setAltitudeRequired(false);
criteria.setBearingRequired(false);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
bestProvider = lm.getBestProvider(criteria, true);
if (ActivityCompat.checkSelfPermission(cx, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(cx, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
}
Location location = lm.getLastKnownLocation(bestProvider);
if (location == null){
return "CustomLocation Not found";
}else{
geocoder = new Geocoder(cx);
try {
user = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 1);
lati=(double)user.get(0).getLatitude();
longi=(double)user.get(0).getLongitude();
adres =(String)user.get(0).getAddressLine(0);
Log.e("Data","lat : "+lati);
Log.e("Data","long : "+longi);
Log.e("Data","adres : "+adres);
}catch (Exception e) {
e.printStackTrace();
}
}
return adres;
}
Устройство GPS включено, но эта функция всегда возвращает «CustomLocation Not found», но когда я запускаю приложение Google maps в своем телефоне, эта функция работает нормально.
Я не понял причину этой ошибки.
Как это исправить?