0

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

我知道我必须在onCreate()方法中分别注册每个侦听器。但我只能有一种onSensorChanged()方法。对?

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

或者有没有其他方法可以做到这一点?还是可以一开始就完成?

提前致谢。

4

2 回答 2

1

当然:

@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
    }
}
于 2013-08-16T16:13:33.227 回答
0

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

public final void onSensorChanged(SensorEvent event)

并且SensorEvent有一个Sensor名为 sensor 的字段,您可以使用它来区分哪种传感器具有新值

于 2013-08-16T16:13:31.757 回答