2016-10-26 4 views
0

Ich bin Entwickler einer App, die einige Feldstärke Berechnungen jede Sekunde mit Handler und während der Handler-Periode die Koordinaten aufzeichnet und die Ergebnisse & Koordinaten aufzeichnet. Es funktioniert gut, außer bei echten Tests und wenn ich die Geschwindigkeit des Fahrzeugs die aufgezeichneten Koordinaten nicht jede Sekunde während einige Male alle 2-3-4 Sekunden erhöhe, was von mir nicht akzeptiert wird. Der Kodex unter:Standort Updates


final LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0,  0, this); 

publicvoid method_01(LocationManager locationManager){ 

final Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 

@Override 
public void run() { 
Location locationDataRate =  locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
double latitude = locationDataRate.getLatitude(); 
double longitude = locationDataRate.getLongitude(); 
x=y+1; 
Save to file (latitude,longitude,x); 
handler.postDelayed(this, 1000); 
} 
}, 1000); 

} 

habe ich versucht, auch die Zeit und min zu ändern. Abstand zu (1000,0)

+0

Sie an Ort anmelden müssen ändert locationManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 2000, 1f, yourListener); –

Antwort

0

Wenn Sie alle 1 Sekunde ein Update erhalten möchten, sollten Sie keine häufigeren Updates anfordern. Deshalb:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, this); 

Wie auch immer, die besten Praxis-Updates für den Umgang mit Standort wird nicht dauerhaft Looping getLastKnownLocation aber den Rückruf von Standortaktualisierungen zu implementieren. Es gibt ein Bündel von Beispielen here.

Um Ihre Frage, in der doc sie erklären, dass Intervall zwischen den Updates in nie garantiert:

Die Lage Aktualisierungsintervall gesteuert werden kann, die MINTIME Parameter. Die verstrichene Zeit zwischen Standortaktualisierungen wird nie weniger als minTime sein, obwohl es mehr von der Provider-Implementierung und dem Aktualisierungsintervall abhängen kann, das von anderen -Anwendungen angefordert wird.

Verwandte Themen