@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { switch (buttonView.getId()) { case R.id.scan_toggle_button: if (isChecked) { buttonView.setChecked(true); buttonView.setBackgroundColor(Color.parseColor("#FF0505")); // red mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE), SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_GRAVITY), SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_LINEAR_ACCELERATION), SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR), SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_GAME_ROTATION_VECTOR), SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_GEOMAGNETIC_ROTATION_VECTOR), SensorManager.SENSOR_DELAY_FASTEST); mSensorManager.registerListener( this, mSensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE), SensorManager.SENSOR_DELAY_FASTEST); } else { buttonView.setChecked(false); buttonView.setBackgroundColor(Color.parseColor("#259C25")); // greed mSensorManager.unregisterListener(this); // Serialization.serExternalData(Serialization.DATA_FILE, sensorData); if (!isRestarted) { showInputDialog(); isRestarted = false; } } break; default: Log.e("Error", "Toggle Button not found!"); } }