Хорошо, что вы ищете, чтобы спросить устройство для лучших критериев для получения грубого местоположения.
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE); // Faster, no GPS fix.
String provider = locationManager.getBestProvider(criteria, true); // only retrieve enabled providers.
Затем просто зарегистрируйте слушателя
locationManager.requestLocationUpdates(provider, ITERATION_TIMEOUT_STEP, MIN_LOCATION_UPDATE_DISTANCE, listener); //listener just implements android.location.LocationListener
в слушателе, вы получите обновление как таковое
void onLocationChanged(Location location) {
accuracy = location.getAccuracy(); //accuracy of the fix in meters
timestamp = location.getTime(); //basically what you get from System.currentTimeMillis()
}
На данный момент мой совет заключается в сортировке исключительнооснованный на точности, поскольку вы не можете изменить свое местоположение так сильно за 10 секунд, но грубые обновления местоположения сильно различаются по точности.
Надеюсь, это поможет.