Вы не можете просто спросить андроида о текущей позиции.GPS занимает некоторое время и может быть недоступен.Об этом говорится в этом сообщении .
. Вы можете использовать таймер, подобный тому, который указан пользователем 500865, а затем запросить последнее известное местоположение, подобное этому
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 1, this);
Location l = null;
l = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
Вы можете отслеживать последнее местоположение и выполнять некоторую логику, если новое местоположение отличается или совпадает.
Метод requestLocationUpdates имеет следующие параметры:
minTime - минимальный интервал времени для уведомлений, в миллисекундах.Это поле используется только как подсказка для экономии энергии, и фактическое время между обновлениями местоположения может быть больше или меньше этого значения.
minDistance - минимальный интервал расстояния для уведомлений, в метрах
Используйте их, чтобы настроить, как часто вы хотите получать обновление местоположения