Android 摇一摇功能的注意事项

时间:2022-06-18 11:21:03
/**开始重力传感器的检测*/
public void start() {
  // 获得传感器管理器
  sensorManager = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);
  if (sensorManager != null) {
    // 获得重力传感器
    sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
  }
  // 注册
  if (sensor != null) {
    sensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_GAME);
  }
} /**停止检测*/
public void stop() {
  sensorManager.unregisterListener(this);
}

1.  注意如果你想重复的在一个页面不停的摇,如果你 start() --> 监听到传感器触发事件  只能摇一次(如果你不选择stop() 他还是只能摇一次,继续摇就摇不了了)想要继续摇必须再次启动 start()方法 再次stop() 做循环来重复摇,这是最重要的。

  例如:1. start() --> 触发事件 --> stop();   只能摇一次

     2. start() --> 触发事件;     不执行stop() 只能摇一次

     3. start() --> 触发事件完立马执行stop() -->start() --> 触发事件完立马执行stop() --> start() ....... 这样就可以无限的执行摇一摇功能了

 不知道是不是我写的代码有误还是怎么的,我在代码中想要执行多次监听摇一摇就必须按照 例3这种方式 如果有人知道原因,请在下方留言,希望学习一下