예제 #1
0
 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);
        }
예제 #4
0
        /// <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");
 }
예제 #6
0
 protected void OnSensorChanged(Measure measure)
 {
     SensorChanged?.Invoke(this, measure);
 }
예제 #7
0
 /// <summary>
 /// Protected overridable handler that raises SensorChanged event.
 /// </summary>
 protected virtual void OnSensorChanged(SensorEventArgs args)
 {
     SensorChanged?.Invoke(this, args);
 }