Если у вас нет последнего известного местоположения (просто выполните нулевую проверку на возвращаемое значение), вам нужно добавить слушатель местоположения, чтобы получить местоположение.Примерно так:
// Start listening for a new location.
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String bestProvider = lm.getBestProvider(new Criteria(), true);
mMyLocationListener = new MyLocationListener();
lm.requestLocationUpdates(bestProvider, 0, 0, mMyLocationListener);
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
// Do what you need to do with the longitude and latitude here.
}
@Override
public void onProviderDisabled(String provider) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
Вы также должны помнить об удалении слушателя местоположения, как только он вам больше не нужен:
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.removeUpdates(mMyLocationListener);
mMyLocationListener = null;