Otrzymuję swoją ostatnią znaną lokalizację, ale nie od tego, ile czasu upłynęło od ostatniej aktualizacji mojej lokalizacji. Jak mogę się dowiedzieć, ile czasu minęło od ostatniej aktualizacji lokalizacji?Jak dawno temu zarejestrowano ostatnią znaną lokalizację?
LocationManager locationManager
= (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria c = new Criteria();
c.setAccuracy(Criteria.ACCURACY_FINE);
c.setAccuracy(Criteria.ACCURACY_COARSE);
c.setAltitudeRequired(false);
c.setBearingRequired(false);
c.setCostAllowed(true);
c.setPowerRequirement(Criteria.POWER_HIGH);
String provider = locationManager.getBestProvider(c, true);
Location location = locationManager.getLastKnownLocation(provider);
Jak o subskrypcji aktualizacji lokalizacji i pomiaru różnicy czasu pomiędzy odebranymi aktualizacji? Gdy otrzymasz aktualizację lokalizacji, instancja Location pozwala ci pobrać czas aktualizacji za pomocą getTime() (uwaga: jest w UTC). – AgentKnopf
['location.getTime();'] (http://developer.android.com/reference/android/location/Location.html#getTime%28%29) mówi o ['getElapsedRealtimeNanos()'] (http: //developer.android.com/reference/android/location/Location.html#getElapsedRealtimeNanos%28%29), aby obliczyć wiek poprawki i porównać poprawki lokalizacji. [Przykład] (https://code.google.com/p/android-protips-location/source/browse/trunk/src/com/radioactiveyak/location_best_practices/utils/GingerbreadLastLocationFusion.java) na [blogu] (http : //android-developers.blogspot.com/2011/06/deep-dive-into-location.html) używa 'getTime()'. – kush
Metoda getElapsedRealtimeNanos() jest zalecanym podejściem, ale jest dostępna tylko w API 17 (4.2) i nowszych wersjach, więc getTime jest naprawdę jedyną rzeczą, której można użyć w momencie pisania ... – JamesSugrue