Ejemplo n.º 1
0
 public void GetSpeed()
 {
     // Register this as a listener with the underlying service.
     sensorManager = (Android.Hardware.SensorManager)Forms.Context.GetSystemService(Context.SensorService);
     sensor        = sensorManager.GetDefaultSensor(Android.Hardware.SensorType.Accelerometer);
     sensorManager.RegisterListener(this, sensor, Android.Hardware.SensorDelay.Game);
 }
Ejemplo n.º 2
0
        // ボタンクリックとOnResume/OnPauseに対応するためにメソッドへと切り出した
        private void RegisterLightListener()
        {
            var batchEnabled = manager.RegisterListener(this, lightSensor, SensorDelay.Normal, 5000000);

            var textView = FindViewById <TextView> (Resource.Id.BatchMode);

            textView.Text = batchEnabled ? "有効" : "無効";
        }
Ejemplo n.º 3
0
        // Initialization of the Activity after it is first created.  Must at least
        // call {@link android.app.Activity#setContentView setContentView()} to
        // describe what is to be displayed in the screen.
        protected override void OnCreate(Bundle savedInstanceState)
        {
            // Be sure to call the base class.
            base.OnCreate (savedInstanceState);

            sensor_manager = (SensorManager)GetSystemService (SensorService);
            graph_view = new GraphView (this.BaseContext);
            SetContentView (graph_view);

            var accel = sensor_manager.GetDefaultSensor (SensorType.Accelerometer);
            var mag = sensor_manager.GetDefaultSensor (SensorType.MagneticField);
            var ori = sensor_manager.GetDefaultSensor (SensorType.Orientation);

            sensor_manager.RegisterListener (graph_view, accel, SensorDelay.Fastest);
            sensor_manager.RegisterListener (graph_view, mag, SensorDelay.Fastest);
            sensor_manager.RegisterListener (graph_view, ori, SensorDelay.Fastest);
        }
Ejemplo n.º 4
0
        public static void SetupAccelerometer()
        {
            _sensorManger = (SensorManager)Game.contextInstance.GetSystemService(Context.SensorService);
            _sensor = _sensorManger.GetDefaultSensor(SensorType.Accelerometer);

            if (_sensor != null) {
                _state = new AccelerometerState { IsConnected = true };
                _sensorManger.RegisterListener(new SensorListener(), _sensor, SensorDelay.Game);
            }
            else _state = new AccelerometerState { IsConnected = false };
        }
Ejemplo n.º 5
0
 public void SetSensorListener(ISensorListener l)
 {
     listener = l;
     if (listener != null) {
         sensorManager = (SensorManager) context.GetSystemService(Context.SensorService);
         sensorManager.RegisterListener(this, sensorManager.GetDefaultSensor(SensorType.Accelerometer), SensorDelay.Game);
     } else {
         if (sensorManager != null) {
             sensorManager.UnregisterListener(this);
             sensorManager = null;
         }
     }
 }
Ejemplo n.º 6
0
        protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource   = Resource.Layout.Toolbar;

            base.OnCreate(bundle);

            global::Xamarin.Forms.Forms.Init(this, bundle);
            LoadApplication(new App());



            mSensorManager                   = GetSystemService(Android.Content.Context.SensorService) as Android.Hardware.SensorManager;
            mRotationVectorSensor            = mSensorManager.GetDefaultSensor(Android.Hardware.SensorType.RotationVector);
            mGeomagneticRotationVectorSensor = mSensorManager.GetDefaultSensor(SensorType.GeomagneticRotationVector);
            mAccelerometerSensor             = mSensorManager.GetDefaultSensor(SensorType.Accelerometer);
            mMagneticFieldSensor             = mSensorManager.GetDefaultSensor(SensorType.MagneticField);

            mSensorManager.RegisterListener(this, mRotationVectorSensor, SensorDelay.Normal);
            mSensorManager.RegisterListener(this, mGeomagneticRotationVectorSensor, SensorDelay.Normal);
            mSensorManager.RegisterListener(this, mAccelerometerSensor, SensorDelay.Normal);
            mSensorManager.RegisterListener(this, mMagneticFieldSensor, SensorDelay.Normal);
        }
Ejemplo n.º 7
0
        // Initialization of the Activity after it is first created.  Must at least
        // call {@link android.app.Activity#setContentView setContentView()} to
        // describe what is to be displayed in the screen.
        protected override void OnCreate(Bundle savedInstanceState)
        {
            // Be sure to call the base class.
            base.OnCreate (savedInstanceState);

            sensor_manager = (SensorManager)GetSystemService (SensorService);
            graph_view = new GraphView (this.BaseContext);
            SetContentView (graph_view);

            sensor_manager.RegisterListener (graph_view,
                SensorManager.SensorAccelerometer |
                SensorManager.SensorMagneticField |
                SensorManager.SensorOrientation,
                SensorDelay.Fastest);
        }
		protected override void OnCreate (Bundle bundle)
		{
			base.OnCreate (bundle);

			SetContentView (Resource.Layout.Sensors);

			trackButton = FindViewById<Button> (Resource.Id.trackButton);
			stepCount = FindViewById<TextView> (Resource.Id.stepCount);

			// create a sensor manager to schedule batches of sensor data
			senMgr = (SensorManager) GetSystemService (SensorService);

			// update state from orientation change
			if (bundle != null)
			{
				count = bundle.GetFloat ("step_count", 0);
				if (bundle.GetBoolean ("visible", false)) {
					visible = true;
					stepCount.Text = count.ToString ();
				}
				Log.Debug(GetType().FullName, "Recovered instance state");
			}


			// This button gets the user's step count since the last time the device was rebooted
			trackButton.Click += (o, e) => {
				// get the step counter sensor via the SensorManager
				counter = senMgr.GetDefaultSensor (SensorType.StepCounter);

				// button's been clicked, so counter visibility gets set to true
				visible = true;

				// This sensor is only available on Nexus 5 and Moto X at time of writing
				// The following line will check if the sensor is available explicitly:
				bool counterAvailabe = PackageManager.HasSystemFeature(PackageManager.FeatureSensorStepCounter);
				Log.Info("SensorManager", "Counter available");

				if (counterAvailabe && counter != null) {
					// Set sensor delay to normal, the default rate for batching sensor data
					senMgr.RegisterListener(this, counter, SensorDelay.Normal);
					Toast.MakeText(this,"Count sensor started",ToastLength.Long).Show();
				} else {
					Toast.MakeText(this, "Count sensor unavailable", ToastLength.Long).Show();
				}
			};

		}
Ejemplo n.º 9
0
        public void Start()
        {
            if (_accelerometer != null)
            {
                throw new MvxException("Accelerometer already started");
            }

            var globals = Mvx.Resolve<IMvxAndroidGlobals>();
            _sensorManager = (SensorManager) globals.ApplicationContext.GetSystemService(Context.SensorService);
            if (_sensorManager == null)
                throw new MvxException("Failed to find SensorManager");

            _accelerometer = _sensorManager.GetDefaultSensor(SensorType.Accelerometer);
            if (_accelerometer == null)
                throw new MvxException("Failed to find Accelerometer");

            // It is not necessary to get accelerometer events at a very high
            // rate, by using a slower rate (SENSOR_DELAY_UI), we get an
            // automatic low-pass filter, which "extracts" the gravity component
            // of the acceleration. As an added benefit, we use less power and
            // CPU resources.
            _sensorManager.RegisterListener(this, _accelerometer, SensorDelay.Ui);
        }
Ejemplo n.º 10
0
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate (bundle);

            // Set our view from the "main" layout resource
            SetContentView (Resource.Layout.Main);

            _sensorManager = (SensorManager) GetSystemService(Context.SensorService);
            _sensorManager.RegisterListener (this, _sensorManager.GetDefaultSensor (SensorType.Accelerometer), SensorDelay.Normal);
            this._shakeHelper = new ShakeHelper (SensorManager.GravityEarth, SensorManager.GravityEarth);

            _decisions = new List<string> ();
            DecisionAdapter = new Adapters.DecisionAdapter (this, _decisions);

            ListView decisionList = FindViewById<ListView> (Resource.Id.lvDecisions);
            decisionList.Adapter = DecisionAdapter;

            decisionList.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) =>
            {
                RemoveDecision(e.Position);
            };

            Button btnAddDecision = FindViewById<Button> (Resource.Id.btnAddDecision);
            btnAddDecision.Click += delegate
            {
                AddDecision();

                InputMethodManager inputManager = (InputMethodManager)
                    GetSystemService(Context.InputMethodService);
                inputManager.HideSoftInputFromWindow(CurrentFocus.WindowToken, HideSoftInputFlags.NotAlways);
            };

            Button btnDecide = FindViewById<Button> (Resource.Id.btnDecide);
            btnDecide.Click += delegate {
                MakeDecision();
            };
        }
Ejemplo n.º 11
0
        public void Start(InteractClient.Sensors.SensorType sensorType, InteractClient.Sensors.SensorDelay interval = InteractClient.Sensors.SensorDelay.Default)
        {
            Android.Hardware.SensorDelay delay = Android.Hardware.SensorDelay.Normal;
            switch (interval)
            {
            case InteractClient.Sensors.SensorDelay.Fastest: delay = Android.Hardware.SensorDelay.Fastest; break;

            case InteractClient.Sensors.SensorDelay.Game: delay = Android.Hardware.SensorDelay.Game; break;

            case InteractClient.Sensors.SensorDelay.Ui: delay = Android.Hardware.SensorDelay.Ui; break;
            }

            switch (sensorType)
            {
            case InteractClient.Sensors.SensorType.AcceleroMeter:
                if (sensorAccelerometer != null)
                {
                    sensorManager.RegisterListener(this, sensorAccelerometer, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: AcceleroMeter not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Gyroscope:
                if (sensorGyroscope != null)
                {
                    sensorManager.RegisterListener(this, sensorGyroscope, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Gyroscope not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.MagnetoMeter:
                if (sensorMagnetometer != null)
                {
                    sensorManager.RegisterListener(this, sensorMagnetometer, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Magnetometer not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Compass:
                if (sensorCompass != null)
                {
                    sensorManager.RegisterListener(this, sensorCompass, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Compass not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Light:
                if (sensorLight != null)
                {
                    sensorManager.RegisterListener(this, sensorLight, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Light not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Pressure:
                if (sensorPressure != null)
                {
                    sensorManager.RegisterListener(this, sensorPressure, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Pressure not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Proximity:
                if (sensorProximity != null)
                {
                    sensorManager.RegisterListener(this, sensorProximity, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Proximity not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.LinearAcceleration:
                if (sensorLinearAcceleration != null)
                {
                    sensorManager.RegisterListener(this, sensorLinearAcceleration, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Linear Acceleration not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Rotation:
                if (sensorRotation != null)
                {
                    sensorManager.RegisterListener(this, sensorRotation, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Rotation not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.GameRotation:
                if (sensorGameRotation != null)
                {
                    sensorManager.RegisterListener(this, sensorGameRotation, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Game Rotation not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Humidity:
                if (sensorHumidity != null)
                {
                    sensorManager.RegisterListener(this, sensorHumidity, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Humidity not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.AmbientTemperature:
                if (sensorAmbientTemperature != null)
                {
                    sensorManager.RegisterListener(this, sensorAmbientTemperature, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Ambient Temperature not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.SignificantMotion:
                if (sensorSignificantMotion != null)
                {
                    sensorManager.RequestTriggerSensor(TriggerEventListener, sensorSignificantMotion);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Significant Motion not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.StepDetector:
                if (sensorStepDetector != null)
                {
                    sensorManager.RegisterListener(this, sensorStepDetector, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Step Detector not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.StepCounter:
                if (sensorStepCounter != null)
                {
                    sensorManager.RegisterListener(this, sensorStepCounter, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Step Counter not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.HeartRate:
                if (sensorHeartRate != null)
                {
                    sensorManager.RegisterListener(this, sensorHeartRate, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Heart Rate not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Pose:
                if (sensorPose != null)
                {
                    sensorManager.RegisterListener(this, sensorPose, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Pose not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Stationary:
                if (sensorStationary != null)
                {
                    sensorManager.RegisterListener(this, sensorStationary, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Stationary not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Motion:
                if (sensorMotion != null)
                {
                    sensorManager.RegisterListener(this, sensorMotion, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Motion not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.HeartBeat:
                if (sensorHeartBeat != null)
                {
                    sensorManager.RegisterListener(this, sensorHeartBeat, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Heart Beat not available.");
                }
                break;

            case InteractClient.Sensors.SensorType.Tilt:
                if (sensorMagnetometer != null && sensorAccelerometer != null)
                {
                    sensorManager.RegisterListener(this, sensorMagnetometer, delay);
                    sensorManager.RegisterListener(this, sensorAccelerometer, delay);
                }
                else
                {
                    Network.Sender.WriteLog("Sensor: Tilt not available.");
                }
                break;
            }
            sensorStatus[sensorType] = true;
        }
Ejemplo n.º 12
0
 public void Start()
 {
     _sensorManager = (SensorManager)Application.Context.GetSystemService(Android.App.Activity.SensorService);
     _sensorManager.RegisterListener(this, _sensorManager.GetDefaultSensor(SensorType.MagneticField), SensorDelay.Normal);
     _sensorManager.RegisterListener(this, _sensorManager.GetDefaultSensor(SensorType.Accelerometer), SensorDelay.Normal);            
 }
Ejemplo n.º 13
0
		/// <summary>
		///     Starts this instance.
		/// </summary>
		partial void Start()
		{
			_sensorManager = Application.Context.GetSystemService(Context.SensorService) as SensorManager;

			_accelerometer = _sensorManager.GetDefaultSensor(SensorType.Accelerometer);

			_sensorManager.RegisterListener(this, _accelerometer, _delay);
		}
 protected override void OnElementChanged(ElementChangedEventArgs<Page> e)
 {
     base.OnElementChanged (e);
     mainView = e.NewElement as MainView;
     sensorManager = (SensorManager)Context.GetSystemService (Context.SensorService);
     sensor = sensorManager.GetDefaultSensor (Android.Hardware.SensorType.Accelerometer);
     sensorManager.RegisterListener (this, sensor, Android.Hardware.SensorDelay.Game);
 }