В приведенном ниже коде getLastKnownLocation()
всегда возвращает null на устройстве, даже когда я получаю Provide = internet
. Он работал нормально, но знал, что он возвращает нулевое значение. Я использую Galaxy Tab версии 2.2.getLastKnownLocation() всегда возвращает null на устройстве
public void find_Location(Context con) {
Log.d("Find Location", "in find_location");
this.con=con;
String location_context = Context.LOCATION_SERVICE;
LocationManager locationManager =
(LocationManager)con.getSystemService(location_context);
List<String> providers = locationManager.getProviders(true);
for (String provider : providers) {
locationManager.requestLocationUpdates(provider, 1000, 0,new LocationListener() {
public void onLocationChanged(Location location) {}
public void onProviderDisabled(String provider){}
public void onProviderEnabled(String provider){}
public void onStatusChanged(String provider, int status,Bundle extras){}
});
Location location = locationManager.getLastKnownLocation(provider);
if (location != null) {
lat = location.getLatitude();
lng = location.getLongitude();
Geocoder geocoder = new Geocoder(AdvanceSearch.this,
Locale.getDefault());List<Address> addresses;
try {
addresses = geocoder.getFromLocation(lat,lng,100);
countryname=addresses.get(0).getCountryName();
eexit e = new eexit();
statename= addresses.get(0).getAdminArea();
cityname=addresses.get(0).getLocality();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Заранее за вашу помощь.
Вам нужно время, чтобы исправить. Проверьте, когда вызывается 'onLocationChanged'. – hsz
http://stackoverflow.com/questions/1916568/getlastknownlocation-getting-null-on-sdk?rq=1 проверьте это 1. Это точный дубликат вашего вопроса. –
Я ждал arrount 4 мин, но onLocationChanged никогда не назывался – sara