Perché locationmanager restituisce le vecchie correzioni di posizione con il nuovo timestamp di gettime?

Abbiamo un'applicazione che, all'azione degli utenti, cerca di get una correzione della posizione. Consente di ascoltare sia il GPS che la networking e ha una matrix di decisione basata sul tempo / accuratezza per determinare quando interrompere l'ascolto e quali correzioni restituiscono.

Abbiamo notato, a volte, un comportmento molto strano. Utilizziamo il modo classico per vedere come è la vecchia correzione:

  • Può qualcuno get questo custom AlertDialog per funzionare effettivamente?
  • UI dinamico con menu scorrevole e actionbarsherlock
  • Comando di voce in vetro più vicino dalla list dati
  • Runtime Android e eccezioni Nullpoint
  • Android chiude app sul button indietro
  • come mostrare android tabella di gruppo?
  • long age = now - newLocation.getTime(); if(age >= prefs.getLocationMaxAge()){ Log.d(TAG, "location too old."); return; } 

    Ma a volte, la posizione.getTime restituito dal sistema operativo ha un'età di circa 15-20 secondi, secondo il timestama restituito, anche se possiamo dire per certo che è molto vecchio. Ad esempio, se la correzione di longitudine / latitudine è da una posizione che il ricevitore era in 30 minuti fa!

    Sembra che sia accaduto sia da Wi-Fi e da networking, ma non da GPS. Per me, questo è totalmente pazzo. Qualcun altro ha visto questo e c'è qualche modo intorno ad esso?

    Abbiamo ottenuto su un paio di telefoni diversi, la più recente è Samsung Galaxy S II .

    Aiuto sarebbe estremamente benvenuto.

    EDIT : Per essere veramente chiaro, il problema è che il callback "onlocationchanged" viene chiamato dall'OS con una posizione con un'età di timestamp di forse un paio di secondi, quando so per certo che la longitudine / latitudine nel "nuovo" la correzione è un luogo in cui il telefono non è stato a per alless 30 minuti.

    Questo rende difficile determinare in modo preciso where il porttile è …

  • Shoutcast streaming
  • Carica HTML in webview in Android?
  • Android NDK R8E manca lo stdlib.h
  • Come mostrare la window di dialogo di avviso in un thread in esecuzione?
  • Styling Cerca Visualizza su Android (min21)
  • LocationListener di NETWORK_PROVIDER è abilitato, ma non è mai chiamato onLocationChanged
  • One Solution collect form web for “Perché locationmanager restituisce le vecchie correzioni di posizione con il nuovo timestamp di gettime?”

    Sembra che sia accaduto sia da Wi-Fi e da networking, ma non da GPS

    Questo sembra giusto, perché nella triangolazione basata su cellule Wi-Fi e networking, l'esattezza è molto brutta. Usano probabilmente le posizioni in cache che risalgono a 30 minuti fa. A less che tu non abbia cambiato il tuo sito cellulare o sei trasferito in un altro edificio in modo che i nuovi AP possano essere scoperti, temo che avrai solo posizioni memorizzate nella cache. Se si desidera utilizzare nuove località utilizzare il fornitore GPS.

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.