private void OnSensorChanged(Measure measure) { if (SensorChanged != null) { SensorChanged.Invoke(this, measure); } }
public void ResetListener(SensorChanged listener) { if (mListener != null) { SensorManager sensorManager = (SensorManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.SensorService); sensorManager.UnregisterListener(mListener); mListener = null; } }
public void SetListener(SensorChanged listener, SensorNotifyRate sensorNotifyRate) { SensorManager sensorManager = (SensorManager)Android.App.Application.Context.GetSystemService(Android.Content.Context.SensorService); Sensor promximitySensor = sensorManager.GetDefaultSensor(SensorType.Proximity); if (mListener != null) { sensorManager.UnregisterListener(mListener); } sensorManager.RegisterListener(mListener = new LocalSensorListener(listener), promximitySensor, SensorDelay.Normal); }
/// <summary> /// Called when sensor values have changed. /// </summary> /// <param name="e">the <c><see cref="T:Android.Hardware.SensorEvent" /></c>.</param> public void OnSensorChanged(SensorEvent e) { if (e.Sensor.Type != SensorType.Accelerometer) { return; } var dateTimeOffset = new DateTimeOffset().AddMilliseconds(e.Timestamp); var value = new AccelerometerValue(dateTimeOffset, e.Values[0], e.Values[1], e.Values[2]); var eventArgs = new AccelerometerValueChangedEventArgs(value); SensorChanged.SafeInvoke(this, eventArgs); }
public LocalSensorListener(SensorChanged listener) { mListener = listener ?? throw new System.ArgumentNullException("listener == null"); }
protected void OnSensorChanged(Measure measure) { SensorChanged?.Invoke(this, measure); }
/// <summary> /// Protected overridable handler that raises SensorChanged event. /// </summary> protected virtual void OnSensorChanged(SensorEventArgs args) { SensorChanged?.Invoke(this, args); }