How to add a click method in sensor

此生再无相见时 提交于 2019-12-02 07:45:06

You should just register or unregister the listener. Just as you should in onPause and onResume (I think).

mSensorManager.registerListener(this, jAccelerometer,
            SensorManager.SENSOR_DELAY_NORMAL);

mSensorManager.unregisterListener(this);

in onCreate() method , after you register the sensor's listener, set the Tag of your Switch button to true :

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);

        setContentView(R.layout.main);
        view = findViewById(R.id.label);
        view.setBackgroundColor(Color.GREEN);

        sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
        sensorManager.registerListener(this,
                sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
                SensorManager.SENSOR_DELAY_NORMAL);
        lastUpdate = System.currentTimeMillis();

        Button Switch = (Button) findViewById(R.id.switch_button);
        Switch.setTag(true);
        //set the listener for your Switch button here
    }

And in the onClick() method : try this code :

Switch.setOnClickListener(new View.OnClickListener() { 
    @Override 
      public void onClick(View v) { 
          boolean isSensorActivated = (boolean) v.getTag();
          if(isSensorActivated) {
              mSensorManager.registerListener(this, jAccelerometer,
            SensorManager.SENSOR_DELAY_NORMAL);
          }
          else {
              mSensorManager.unregisterListener(this);
          }
          v.setTag(!isSensorActivated);
     } 

});
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!