gpt4 book ai didi

android - 有没有办法在Android中检索多个传感器数据

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:06:27 25 4
gpt4 key购买 nike

我正在尝试获取加速度计和方向数据。目前,我创建了一个 AccelerometerManager 和 OrientationManager。他们都做同样的事情;实现 SensorEventListener 并从 onSensorChanged() 监听器中的 values[] 检索数据。

有没有更简单的方法来做到这一点?似乎没有必要使用 2 个具有重复代码的处理程序。有没有一种方法可以将加速度计和方向数据组合在一起来访问 values[] 数组?

因为有 2 个处理程序,我还必须这样做:

    orientationManager = new OrientationManager(this);
orientationSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
orientationSensorManager.registerListener(orientationManager,
orientationSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
SensorManager.SENSOR_DELAY_GAME);

accelerometerManager = new AccelerometerManager(this);
accelerometerSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
accelerometerSensorManager.registerListener(accelerometerManager,
orientationSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),
SensorManager.SENSOR_DELAY_GAME);

最佳答案

你能试试这样吗:

private SensorManager mSensorManager;
private SensorEventListener mSensorListener;

////


mSensorManager = (SensorManager) this
.getSystemService(Context.SENSOR_SERVICE);
mSensorListener = 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) {
//TODO: get values
}else if (sensor.getType() == Sensor.TYPE_ORIENTATION) {
//TODO: get values
}
}
}

mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_GAME);
mSensorManager.registerListener(mSensorListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME);

关于android - 有没有办法在Android中检索多个传感器数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4343342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com