J'avais l'habitude d'utiliser FusedLocationApi jusqu'à ce que j'ai appris qu'il est déprécié (voir les références ci-dessous). C'était simple à mettre en œuvre. Comme la documentation dit que vous devez l'utiliser en conjonction avec GoogleApiClientFusedLocationProviderClient quand et comment arrêter Looper?
LocationServices.FusedLocationApi.requestLocationUpdates(googleApiClient,
locationRequest, this);
J'ai récemment changé à FusedLocationProviderClient (voir référence ci-dessous) A la suite d'un tutoriel, j'ai pu obtenir avec succès FusedLocationProviderClient travailler
Tutoriel: https://github.com/codepath/android_guides/wiki/Retrieving-Location-with-LocationServices-API
// new Google API SDK v11 uses getFusedLocationProviderClient(this)
getFusedLocationProviderClient(this).requestLocationUpdates(mLocationRequest, new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
// do work here
onLocationChanged(locationResult.getLastLocation();
}
},
Looper.myLooper());
Le problème que je rencontre est le thread Looper. Même avec l'application en arrière-plan, le thread Looper continue de s'exécuter. Je souhaite suspendre les mises à jour de position lorsque l'application est en arrière-plan, puis reprendre les mises à jour de position lorsque l'application est au premier plan. Comment puis-je atteindre cet objectif?
Références:
- https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderApi
- https://developers.google.com/android/reference/com/google/android/gms/location/FusedLocationProviderClient
Ceci est clair maintenant, merci! – portfoliobuilder