Android GPS onLocationChanged nunca chamado

Eu tenho uma aplicação android e gostaria de obter a localização.

Para isso eu sigo a documentação do android, mas não funciona. O método onLocationChanged nunca é chamado.

public class GPSTestActivity extends Activity
{   
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

    if (locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))
    {
        Toast.makeText(this, "GPS available", 3000).show();
    }
    else
    {
        Toast.makeText(this, "GPS not available", 3000).show();
    }

    LocationListener locationListener = new LocationListener()
    {
        public void onLocationChanged(Location location)
        {
            System.out.println("RECEIVED LOCATION");
        }

        public void onStatusChanged(String provider, int status, Bundle extras)
        {
        }

        public void onProviderEnabled(String provider)
        {
        }

        public void onProviderDisabled(String provider)
        {
        }


    };

    locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
}

No AndroidManifest.mf eu incluí a permissão:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Estou tentando testar o aplicativo com o emulador no console do DDMS. Defino uma longitude e uma latitude e, em seguida, pressiono o botão enviar, mas o método onLocationChanged não é chamado.

O que estou fazendo errado?

Agradeço antecipadamente

questionAnswers(2)

yourAnswerToTheQuestion