Iam développer une application qui effectue des calculs de force de signal de terrain chaque seconde en utilisant Handler et pendant la période Handler, il enregistre les coordonnées et enregistre les résultats & les coordonnées. Cela fonctionne bien sauf quand de vrais essais et quand j'augmente la vitesse du véhicule les coordonnées enregistrées ne sont pas toutes les secondes tandis que quelques fois toutes les 2-3-4 secondes qui ne sont pas acceptées par moi. Le code ci-dessous:Emplacement Mises à jour
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);
}
J'ai essayé aussi de changer l'heure et min. distance à (1000,0)
Vous devez souscrire à l'emplacement change locationManager.requestLocationUpdates (LocationManager.GPS_PROVIDER, 2000, 1F, yourListener); –