/// <summary> /// Starts monitoring specified region /// </summary> /// <param name="region"></param> public void StartMonitoring(GeofenceCircularRegion region) { lock (Lock) { if (IsMonitoring) { mGeofencingClient.RemoveGeofences(GeofenceTransitionPendingIntent).AddOnCompleteListener(this); } if (!mRegions.ContainsKey(region.Id)) { mRegions.Add(region.Id, region); } } RequestMonitoringStart(); }
public void StopMonitoring(GeofenceRegion region) { lock (syncLock) { client.RemoveGeofences(new List <string> { region.Identifier }); if (regions.Remove(region)) { MarcelloDatabase.Current.Delete(region); } //if (regions.Count == 0) // Application.Context.StopService(new Intent(Application.Context, typeof(GeofenceBroadcastReceiver))); } }
private void RemoveGeofences() { if (!CheckPermissions()) { ShowSnackbar(GetString(Resource.String.insufficient_permissions)); return; } mGeofencingClient.RemoveGeofences(GetGeofencePendingIntent()).AddOnCompleteListener(this); }