Первый подход заключается в использовании locationManager.requestSingleUpdate () вместо locationManager.requestLocationUpdates ()
ИЛИ
Второе решение - отменить регистрацию слушателя сразу после получения первого обновления, как показано ниже:
@Override
public void onLocationChanged(Location location) {
locationManager.removeUpdates(this);
// do something with the received location
}