You cannot just ask android for the current position. GPS takes some time and may not be available. This is stated in this post.
What you can do is use a timer like the one mentioned by user500865, and then request the last known location like this
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 10000, 1, this);
Location l = null;
l = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
You can keep track of the last location and do some logic if the new location is different or the same.
The method requestLocationUpdates has the following parameters:
minTime -the minimum time interval for notifications, in milliseconds. This field is only used as a hint to conserve power, and actual time between location updates may be greater or lesser than this value.
minDistance -the minimum distance interval for notifications, in meters
Use these to customize how often you want to get a location update