/**开始重力传感器的检测*/
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这种方式 如果有人知道原因,请在下方留言,希望学习一下