我现在正在尝试创建一个监控振动的应用程序.我使用加速计完成工作,当记录的加速度超过一定阈值时,我将其称为触发器.当有触发器时,我想在触发时将加速度,磁场,光级数据(来自不同的传感器)记录到文件中.
现在的问题是:我可以从单个传感器获取数据,但无法找到如何同时从多个传感器获取数据的方法.例如:我可以设置一个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);