J'ai une application qui utilise gps
. Il fonctionne bien, sauf si l'application est forcée à proximité (par l'utilisateur ou l'OS Android) et rouvrir. Ensuite, je ne peux pas sembler fermer les mises à jour gps
. Ceci est mon code:Comment faire pour supprimer les mises à jour GPS après la fermeture de l'application
private void registerLocationUpdates() {
Intent intent = new Intent(ParkOGuardActivity.class.getName()
+ ".LOCATION_READY");
pendingIntent = PendingIntent.getBroadcast(
getApplicationContext(), 0, intent, 0);
// minimum every 1 minutes, 5 kilometers
this.locationManager.requestLocationUpdates(this.provider, 5000,
300000, pendingIntent);
}
private void cancelLocationUpdates() {
if(pendingIntent != null){
Log.d(TAG,pendingIntent!=null ? "pending is not null" : "pending is null");
this.locationManager.removeUpdates(pendingIntent);
}
}
Si je fais appel à la méthode cancelLocationUpdates()
son ok, mais après la réouverture de l'application (après avoir été forcé fermer) le pendingIntent
est nul et je ne peux pas removeUpdates ... Y at-il façon de le faire?
Je pense que vous avez nommé les méthodes tort - launchGPSOptions devrait être launchGPS et vice versa. Pour quiconque lisant le "launchGPSOptions", un trou de sécurité a été corrigé dans les versions récentes d'android - vous ne pouvez pas activer le GPS par programmation - vous pouvez seulement lancer les options et laisser l'utilisateur l'activer (le "launchGPS()" ici) –