void ShowPedometerData(CMPedometerData data, NSError nsError) { if (data != null) { text.text = string.Format("start date: {0}\nend date: {1}\n number of steps: {2}\ndistance: {3}", data.StartDate, data.EndDate, data.NumberOfSteps, data.Distance); if (data.HasCurrentPase) { text.text += "\ncurrent pase: " + data.CurrentPace; } if (data.HasCurrentCadence) { text.text += "\ncurrent cadence: " + data.CurrentCadence; } if (data.HasFloorsAscended) { text.text += "\nfloors ascended: " + data.FloorsAscended; } if (data.HasFloorsDescended) { text.text += "\nfloors descended: " + data.FloorsDescended; } } else { text.text = nsError.LocalizedDescription; } }
/// <summary> /// Gets the current step information from the pedometer sensor. /// </summary> /// <returns></returns> public IReadOnlyDictionary <PedometerStepKind, PedometerReading> GetCurrentReadings() { #if WINDOWS_UWP || WINDOWS_APP || WINDOWS_PHONE_APP var rawReadings = _pedometer.GetCurrentReadings(); Dictionary <PedometerStepKind, PedometerReading> readings = new Dictionary <Sensors.PedometerStepKind, Sensors.PedometerReading>(); foreach (KeyValuePair <Windows.Devices.Sensors.PedometerStepKind, Windows.Devices.Sensors.PedometerReading> r in rawReadings) { readings.Add((PedometerStepKind)((int)r.Key), r.Value); } return(readings); #elif __IOS__ Dictionary <PedometerStepKind, PedometerReading> readings = new Dictionary <PedometerStepKind, PedometerReading>(); _lastData = null; _pedometer.QueryPedometerData(NSDate.FromTimeIntervalSince1970(DateTimeOffset.Now.Subtract(DateTimeOffset.Now.TimeOfDay).ToUnixTimeSeconds()), NSDate.FromTimeIntervalSince1970(DateTimeOffset.Now.ToUnixTimeSeconds()), PedometerDataHandler); _handle.WaitOne(); if (_lastData != null) { readings.Add(PedometerStepKind.Unknown, new PedometerReading(_lastData.NumberOfSteps.Int32Value, TimeSpan.FromSeconds(_lastData.EndDate.SecondsSinceReferenceDate - _lastData.StartDate.SecondsSinceReferenceDate), PedometerStepKind.Unknown, DateTimeOffsetHelper.FromNSDate(_lastData.EndDate))); } return(readings); #elif TIZEN Dictionary <PedometerStepKind, PedometerReading> readings = new Dictionary <Sensors.PedometerStepKind, Sensors.PedometerReading>(); readings.Add(PedometerStepKind.Running, new PedometerReading((int)_pedometer.RunStepCount, TimeSpan.Zero, PedometerStepKind.Running, DateTimeOffset.Now)); readings.Add(PedometerStepKind.Walking, new PedometerReading((int)_pedometer.WalkStepCount, TimeSpan.Zero, PedometerStepKind.Walking, DateTimeOffset.Now)); return(readings); #else throw new PlatformNotSupportedException(); #endif }
protected void CallbackQueryPedometerData(long callbackId, CMPedometerData data, NSError error) { var callback = queryPedometerDataCallbackDict [callbackId]; queryPedometerDataCallbackDict.Remove(callbackId); callback(data, error); }
void SavePedometerData(CMPedometerData pedometerData) { recentPedometerData.Insert(0, pedometerData); if (recentPedometerData.Count > MotionManager.MaxPedometerSamples) { recentPedometerData.RemoveAt(recentPedometerData.Count - 1); } }
void UpdatePedometerData(CMPedometerData data, NSError nsError) { if (data != null) { PlayerPrefs.SetInt("Steps", data.NumberOfSteps); } else { PlayerPrefs.SetInt("Steps", 0); Debug.Log("Cannot fetch data, setting steps to 0"); } }
void UpdatePedometerData(CMPedometerData data, NSError nsError) { if (data != null) { steps = data.NumberOfSteps; distance = data.Distance; } else { steps = 0; distance = 0; } }
private void UpdateStepCounts(CMPedometerData pedometerData, NSError error) { if (error == null) { if (hasCountTagerArea) { UpdateStepCountsWithTargetArea(pedometerData.NumberOfSteps.Int32Value); } else { stepCounts = pedometerData.NumberOfSteps.Int32Value; } } }
private void OnPedometerChanged(CMPedometerData pedometerData, NSError error) { if (error == null) { var currentReadingTime = DateTime.Now; if (firstRead || (currentReadingTime - _lastReadingTime).TotalMilliseconds >= ReadingInterval) { lastReading = (int)pedometerData.NumberOfSteps; OnReadingChanged?.Invoke(this, new DeviceSensorReadingEventArgs <int>(lastReading)); firstRead = false; } } else { OnReadingError?.Invoke(this, new DeviceSensorReadingErrorEventArgs(error.Description)); } }
void ShowPedometerData(CMPedometerData data, NSError error, int i) { if (error == null) { values[i] = data.NumberOfSteps; TotalSteps += values[i]; TotalDistance += data.Distance; Debug.Log(String.Format("steps {0} day(s) ago is {1}, distance is {2}", i, data.NumberOfSteps, data.Distance)); if (values [i] > maxSteps) { maxSteps = values [i]; } //DisplayGraph (values, i); } else { values [i] = 0; Debug.Log(String.Format("There was an error in getting steps of {0} days ago at index of {1} error detail {2}", 6 - i, i, error.LocalizedDescription)); } if (i == 6) { DisplayStats(); } }
public Activity(CMMotionActivity activity, DateTime startDate, DateTime endDate, CMPedometerData pedometerData) { MotionActivity = activity; this.startDate = startDate; this.endDate = endDate; timeInterval = (endDate - startDate).TotalSeconds; if (!activity.Walking && !activity.Running) { return; } NumberOfSteps = pedometerData.NumberOfSteps.Int32Value; Distance = pedometerData.Distance.Int32Value; FloorsAscended = pedometerData.FloorsAscended.Int32Value; FloorsDescended = pedometerData.FloorsDescended.Int32Value; }
void HandleCMPedometer(CMPedometerData data, NSError error) { _pedometerInt = data.NumberOfSteps.Int32Value; }
void SavePedometerData (CMPedometerData pedometerData) { recentPedometerData.Insert (0, pedometerData); if (recentPedometerData.Count > MotionManager.MaxPedometerSamples) recentPedometerData.RemoveAt (recentPedometerData.Count - 1); }
private void PedometerDataHandler(CMPedometerData data, NSError err) { _lastData = data; _handle.Set(); }