Je voudrais trouver l'utilisateur en cliquant sur un bouton. Par conséquent, j'utilise ce code:Android requestLocationMises à jour non correctement renseignées
lm = getSystemService(LocationManager.class);
provider = LocationManager.GPS_PROVIDER;
listener = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
Log.e("UPDATE","UPDATING LOCATION");
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);
La méthode requestLocationUpdates est appelée, mais la méthode OnLocationChanged est seulement appelé à quelques reprises. Le GPS est activé et les autorisations sont accordées.
Avez-vous une idée pourquoi onLocationChanged n'est pas toujours appelé? J'ai également vérifié getLastKnownLocation qui est parfois faux après avoir appelé requestLocationUpdates.
Vérifiez ce qu'il dit ici pour voir si cela aide: https://stackoverflow.com/a/8600896/3965050 –
J'ai essayé d'enregistrer l'écouteur dans requestLocationUpdates. Maintenant, il n'est jamais appelé. LocationManager est également vérifié (il n'est pas nul). – JavaForAndroid
non, mais ce que je voulais dire, c'est cette partie: onLocationChanged() sera appelée si la mise à jour de l'emplacement actuel ne correspond pas au dernier emplacement connu. –