internal static SensorNotifyRate ExchangeNotifyRate(SensorDelay sensorDelay)
        {
            SensorNotifyRate ret = SensorNotifyRate.Normal;

            switch (sensorDelay)
            {
            case SensorDelay.Fastest:
                ret = SensorNotifyRate.Fastest;
                break;

            case SensorDelay.Game:
                ret = SensorNotifyRate.Game;
                break;

            case SensorDelay.Ui:
                ret = SensorNotifyRate.Ui;
                break;

            case SensorDelay.Normal:
                ret = SensorNotifyRate.Normal;
                break;
            }

            return(ret);
        }
        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);
        }