我正在嘗試創建一個應用程序來監視振動。我使用加速計來完成這項工作,當記錄的加速度超過一定的閾值時,我稱之爲觸發器。當出現觸發時,我想在觸發時刻將加速度,磁場,光照水平數據(來自不同傳感器)記錄到文件中。在Android中同時獲取多個傳感器數據
現在的問題是:我可以從單個傳感器獲取數據,但無法弄清楚如何從多個傳感器同時獲取數據。例如:我可以設置一個sensorlistener來監視加速度計的變化,當我記錄加速度數據時,我是否也可以在同一時間從其他傳感器獲取數據?
在此先感謝。
我正在嘗試創建一個應用程序來監視振動。我使用加速計來完成這項工作,當記錄的加速度超過一定的閾值時,我稱之爲觸發器。當出現觸發時,我想在觸發時刻將加速度,磁場,光照水平數據(來自不同傳感器)記錄到文件中。在Android中同時獲取多個傳感器數據
現在的問題是:我可以從單個傳感器獲取數據,但無法弄清楚如何從多個傳感器同時獲取數據。例如:我可以設置一個sensorlistener來監視加速度計的變化,當我記錄加速度數據時,我是否也可以在同一時間從其他傳感器獲取數據?
在此先感謝。
是的,你可以做到這一點,如下所示:
private SensorManager manager;
private SensorEventListener listener;
manager = (SensorManager) this.getSystemService(Context.SENSOR_SERVICE);
listener = new SensorEventListener() {
@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {
}
@Override
public void onSensorChanged(SensorEvent event) {
Sensor sensor = event.sensor;
if (sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
...
}
else if (sensor.getType() == Sensor.TYPE_GYROSCOPE) {
...
}
}
}
manager.registerListener(listener, manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
manager.registerListener(listener, manager.getDefaultSensor(TYPE_GYROSCOPE), SensorManager.SENSOR_DELAY_GAME);
的[有沒有辦法在Android中檢索多個傳感器數據(可能的複製http://stackoverflow.com/questions/4343342/is-there -a-way-to-retrieve-multiple-sensor-data-in-android) –