コード例 #1
0
        /// <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();
        }
コード例 #2
0
        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)));
            }
        }
コード例 #3
0
        private void RemoveGeofences()
        {
            if (!CheckPermissions())
            {
                ShowSnackbar(GetString(Resource.String.insufficient_permissions));
                return;
            }

            mGeofencingClient.RemoveGeofences(GetGeofencePendingIntent()).AddOnCompleteListener(this);
        }