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); }
// ボタンクリックとOnResume/OnPauseに対応するためにメソッドへと切り出した private void RegisterLightListener() { var batchEnabled = manager.RegisterListener(this, lightSensor, SensorDelay.Normal, 5000000); var textView = FindViewById <TextView> (Resource.Id.BatchMode); textView.Text = batchEnabled ? "有効" : "無効"; }
// 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); }
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 }; }
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; } } }
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); }
// 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(); } }; }
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); }
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(); }; }
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; }
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); }
/// <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); }