2
未找到对此的答案。 我正在研究一个应用程序,我必须在两个单独的活动中实时绘制加速度计和陀螺仪值。加速度计工作得很好,但是在随机时间段(从大约1秒到10秒)之后陀螺仪活动中,值停止来,因此绘图也停止。 这是sensorChanged代码。一段时间后,活动停止接收陀螺仪传感器值
public SensorEventListener gyroListener = new SensorEventListener() {
public void onAccuracyChanged(Sensor sensor, int acc) { }
public void onSensorChanged(SensorEvent event) {
float x = event.values[0];
float y = event.values[1];
float z = event.values[2];
seriesx.appendData(new DataPoint(Lastx++,x),true,50);
seriesy.appendData(new DataPoint(Lastx++,y),true,50);
}
};
编辑:注册和未注册的传感器:
public void onResume() {
super.onResume();
sensorManager.registerListener(gyroListener, sensor,
SensorManager.SENSOR_DELAY_NORMAL);
}
public void onStop() {
super.onStop();
sensorManager.unregisterListener(gyroListener);
}
你可以发布你在哪里注册和取消注册你的传感器监听器,以上信息不足以预测问题。 – Nas
编辑答案。 – DivisionSi
您是否设置了gysoscope的传感器管理器,如sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);也可以在这样的sensorchanged方法检查if(event.sensor.getType()== Sensor.TYPE_GYROSCOPE){}它有助于整理你的pblm。 – Nas