在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性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...