Mit dem GPS-Empfang ist das so eine Sache - die Zeit ist kein wirklich gutes Kriterium für eine gute Positionsbestimmung.
Besser ist es, einen Service für GPS-Empfang zu starten, der in mehr oder weniger regelmäßigen Abständen Mitteilungen vom GPS-Empfänger bekommt und sich aus den Daten "das beste" raussucht.
Wenn der Benutzer dann einige Aktionen macht, vergeht einige Zeit und dann irgendwann (z.B. bei onPause der Activity) kannst du dann eine recht gute Position von deinem Service abfragen. Dann kannst du den Service auch stoppen, damit er nicht später irgendwelche unerwarteten Fehlermeldungen von sich gibt...
Was aber eine "gute Position" ist, kannst du auch aus den Positionsdaten entnehmen, in einem Positions-Datensatz ist auch eine Angabe zur Genauigkeit.
Die Android-Doku hat zum Thema Positionsbestimmung auch einen längeren Artikel, je nach Anwendung sind unterschiedliche Strategien sinnvoll.