2016-07-29 6 views
2

Meine App ermöglicht es Menschen, Geofences an bestimmten Orten zu erstellen. Es funktioniert gut, aber ich kann nicht scheinen, die Geofences zu entfernen. Hier ist mein Code zum Entfernen aller Geofences.Geofences nicht löschen?

Dies scheint nicht zu funktionieren, und die Geofences bleiben, wenn ich mein Telefon neu starte. Jede Hilfe oder Erklärung, wie Geofences funktionieren, würde wirklich helfen!

Antwort

0

Wenn Sie die Geofence-Überwachung stoppen, wenn sie nicht mehr benötigt oder gewünscht wird, können Sie Akkustrom und CPU-Zyklen auf dem Gerät sparen. Sie können geofence monitoring in der Hauptaktivität zu add und remove Geofences stoppen; Entfernen eines Geofence stoppt es sofort. Die API bietet Methoden zum Entfernen von Geofences entweder durch Anforderungs-IDs oder durch Entfernen von Geofences, die mit einem gegebenen PendingIntent verknüpft sind.

Der folgende Ausschnitt entfernt geofences von PendingIntent, jede weitere Meldung zu stoppen, wenn das Gerät eintritt oder austritt zuvor hinzugefügt geofences:

LocationServices.GeofencingApi.removeGeofences(
mGoogleApiClient, 
// This is the same pending intent that was used in addGeofences(). 
getGeofencePendingIntent() 
).setResultCallback(this); // Result processed in onResult(). 
} 

Sie Geofencing mit anderen standortbezogene Funktionen, wie zB periodische Standortaktualisierungen kombinieren. Weitere Informationen finden Sie in den anderen Lektionen in dieser Klasse.

Um temporary disable Speicher Geofence Parameter irgendwo in Ihrer Anwendung (zum Beispiel in SQLite oder Shared Einstellungen), dann entfernen Sie es aus GeofencingApi und wiederherstellen (wieder aktivieren), wenn sie über addGeofences benötigt.