getLastKnownLocation()
может вернуть ноль, вам нужно убедиться, что это не так.
Чтобы получить местоположение, вам нужно сначала установить разрешение в своем манифесте.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
Затемв вашем коде вы должны прослушивать доступность местоположения.Вы делаете это, регистрируя LocationListener
.Действие отобразится, и когда у Android будет место для вас, оно перезвонит вам.
private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
latitude = location.getLatitude();
longitude = location.getLongitude();
//Do what you want with your coordinates
}
loctionManager.requestLocationUpdates(LocationManager.GPS, 100, 1, locationListener);
Если вы используете эмулятор, а не реальное устройство, вам нужно принудительно определить местоположение, вы можете использоватьDDMS внутри Eclipse для отправки поддельного местоположения: