Hola, otra opción es tenerlo parado y ponerlo en marcha cuando te interese, y esperar a que se produzca el evento, y así tendras la posición en ese momento.
Empleando el LocationManager (libreria LocationManager), cuando te interese coger las coordenadas, haces requestGPSLocation o un requestMobileLocation y esperas a que se produzca el evento LocationChanged
Cuando tengas los datos lo paras con stopMobileListening y stopGPSListening
Saludos