getLastKnownLocation () devuelve nulo [cerrado]

He leído muchas preguntas y respuestas sobre este tema aquí en SO, pero tengo que decir que ninguno de ellos funciona.

Mi problema es que, aunque tengo el GPS habilitado, no puedo obtener una ubicación a menos que abra Google Maps y obtenga mi ubicación y luego regrese a la aplicación, que definitivamente no es una opción para los usuarios.

Tengo la siguiente función para obtener la ubicación.

public Location getCurrentLocation() {
    LocationManager locationManager = (LocationManager) context
            .getSystemService(Context.LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = locationManager.getBestProvider(criteria, true);
    Location myLocation = locationManager.getLastKnownLocation(provider);

    return myLocation;
}

¿Hay algo que me falta sobre cómo resolver esto? También he intentado estohttp://developer.android.com/training/location/retrieve-current.html#last-known pero aún devuelve nulo.

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta