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