Sto ricevendo la mia ultima posizione nota, ma non quanto tempo è passato dall'ultima volta che la mia posizione è stata aggiornata. Come posso sapere quanto tempo è trascorso dall'ultimo aggiornamento della posizione?Quanto tempo fa è stata registrata l'ultima posizione conosciuta?
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);
Come circa la sottoscrizione per aggiornamenti sulla posizione e misurando la differenza di tempo tra gli aggiornamenti ricevuti? Quando ottieni un aggiornamento di posizione, l'istanza di posizione ti consente di recuperare l'ora dell'aggiornamento tramite getTime() (attenzione però, è in UTC). – AgentKnopf
['location.getTime();'] (http://developer.android.com/reference/android/location/Location.html#getTime%28%29) parla di ['getElapsedRealtimeNanos()'] (http: //developer.android.com/reference/android/location/Location.html#getElapsedRealtimeNanos%28%29) per calcolare l'età di una correzione e confrontare le correzioni di posizione. L'[esempio] (https://code.google.com/p/android-protips-location/source/browse/trunk/src/com/radioactiveyak/location_best_practices/utils/GingerbreadLastLocationFinder.java) in [il blog] (http : //android-developers.blogspot.com/2011/06/deep-dive-into-location.html) usa 'getTime()'. – kush
getElapsedRealtimeNanos() è l'approccio consigliato in futuro, ma è disponibile solo in API 17 (4.2) e sopra, quindi getTime è davvero l'unica cosa da usare al momento della scrittura ... – JamesSugrue