我可以在同一服务中听两个传感器吗?

时间:2013-08-16 16:02:54

标签: android service sensor

我正在开发一个Android应用程序,我必须听取接近传感器和加速计传感器。棘手的部分是我必须在同一个服务中使用它。

我知道我必须在onCreate()方法中单独注册每个监听器。但我只能有一个onSensorChanged()方法。正确?

是否可以区分onSensorChanged()方法中的听众?

或者还有其他办法吗?或者它可以在第一时间完成吗?

提前致谢。

2 个答案:

答案 0 :(得分:1)

Ofcourse:

@Override
public void onSensorChanged(SensorEvent event) {
    if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
        // Accelerometer Sensor
    } else if (event.sensor.getType() == Sensor.TYPE_GRAVITY) {
        // Gravity Sensor
    }
}

答案 1 :(得分:0)

是的,从文档中您将看到onSensorChanged方法传递了一个参数:

public final void onSensorChanged(SensorEvent event)

SensorEvent有一个名为传感器的Sensor字段,可用于区分哪种传感器具有新值