2016-07-05 12 views
0

in meinem Projekt erforderlich aktualisieren, verwenden i GoogleApiClient und Location aktuellen Standort zu erhalten und sie in regelmäßigen Abständen nach bestimmtem Intervall aktualisieren, Ich weiß, dass es einen Unterschied zwischen setInterval und setFastestInterval undandroid Location Intervall nicht als

Intervall Variable, die ich von meinen App-Einstellungen ändern und die Werte von

so nenne ich das:

 public int interval = 1 * 1000; 

     locationRequest.setFastestInterval(interval); 
     locationRequest.setInterval(interval); 



      switch (interval_index) 

    { 
     case 0: 
      interval = 1 * 1000; 
      break; 
     case 1: 
      interval = 1 * 60 * 1000; 
      break; 
     case 2: 
      interval = 5 * 60 * 1000; 
      break; 
     case 3: 
      interval = 10 * 60 * 1000; 
      break; 
     case 4: 
      interval = 30 * 60 * 1000; 
      break; 
    } 

wenn i Intervall zum Beispiel zu 30 Minuten bekomme ich Updates nach 5 Minuten zum Beispiel, es ist nicht konstante Zeit, aber ich bekomme Updates nach dem Zufall, warum also?

+0

Prüfung untenstehenden Link auslösen: [Ort Displacement] (http://stackoverflow.com/questions/27778707/fusionierter-location-provider-setsallestdisplacement-doesnt-work-in-android) –

+0

ich habe setSmallestDisplacement nicht verwendet also was ich erwarte ist, dass locationRequest nur mein Intervall in der Zeit verwenden? –

+0

Ja, wenn Sie das nicht verwenden, dann verwenden Sie Ihre Intervallzeit. –

Antwort

0

Es gibt zwei Möglichkeiten zum Auslösen des Updates: Zeit und Entfernung, wenn Sie das Intervall (die langsamste Zeitkonstante für das Update), FastestInterval (ist die Mindestzeit für die Aktualisierung) und setSmallestDisplacement den Mindestabstand (in Metern) festlegen) für das Update.

Auch wenn Sie noch an der gleichen Stelle, die Lage kann je nach Genauigkeit ändern und das wird die onLocationChange

+0

Ich habe setSmallestDisplacement nicht verwendet, also erwarte ich, dass locationRequest nur mein Zeitintervall verwendet? –

+0

Der Standardwert ist 0 Meter, daher kann in jeder Änderung https://developers.google.com/android/reference/com/google/android/gms/location/LocationRequest –

+0

ausgelöst werden. Ich möchte es wie in Location Manager in deaktivieren android api, wenn min Abstand zu Null gesetzt ignoriert es Abstand überhaupt und hängt nur von der Zeit was ist, wenn ich es große Zahl und Intervall von Mill Sekunden zu 3000 zum Beispiel, hängt es nur von der Zeit oder muss die große Anzahl von Entfernung, um Ortsupdates anzufordern? –

Verwandte Themen