Nunca he sido capaz de entender la forma en que Android recuerda su última ubicación conocida. Parece que recuerda la ubicación de hace varias horas pero no la de hace varios segundos. Creo que es mejor dar un ejemplo de lo que quiero decir.
Hace poco estuve en la zona de la bahía. Estaba usando los mapas de Google en mi Android y resulta que estaba en los alrededores del Campus de Google en Mountain View. Estaba usando los mapas con el GPS activado y después de un rato conseguí un bloqueo de GPS adecuado que usé para navegar por la zona.
Cuando volví a San Francisco más tarde, lo utilicé para moverme por la ciudad. Cada vez que encendía los mapas ponía mi ubicación en Mountain view. Unos 10 segundos más tarde, después de obtener el bloqueo del GPS, obtuve mi ubicación real. Si apagaba el teléfono y lo volvía a encender unos segundos más tarde, ocurría lo mismo: pensaba que estaba en un lugar en el que había estado horas antes y luego me daba mi ubicación real. Esto sucede todo el tiempo: recuerda dónde estaba hace horas, pero no dónde estaba hace unos momentos. Una vez que he estado en una zona durante cierto tiempo, ésta se convierte en la nueva "última ubicación conocida".
¿Por qué, una vez que obtengo un bloqueo GPS preciso, Android no lo registra como la "última ubicación conocida" en lugar de una anterior?