【发布时间】:2017-08-03 17:08:47
【问题描述】:
还没有找到答案。 我正在开发一个应用程序,我必须在两个单独的活动中实时绘制加速度计和陀螺仪值。加速度计工作得很好,但是在随机时间段(大约从 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);
}
【问题讨论】:
-
你能发布你在哪里注册和注销你的传感器监听器吗,以上信息不足以预测问题。
-
编辑了答案。
-
你是否为陀螺仪设置了传感器管理器,例如 sensor = sensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE);并且在 sensorchanged 方法上也像这样检查 if (event.sensor.getType() == Sensor.TYPE_GYROSCOPE) {} 它有助于整理你的 pblm。
-
是的,我有,但问题仍然存在。