我正在开发一个 android 应用程序,我必须在其中同时听接近传感器和加速度计传感器。棘手的部分是我必须在同一个服务中使用它。
我知道我必须在onCreate()
方法中分别注册每个侦听器。但我只能有一种onSensorChanged()
方法。对?
是否可以区分onSensorChanged()
方法中的侦听器?
或者有没有其他方法可以做到这一点?还是可以一开始就完成?
提前致谢。
当然:
@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
}
}
是的,从文档中您会看到该onSensorChanged
方法传递了一个参数:
public final void onSensorChanged(SensorEvent event)
并且SensorEvent
有一个Sensor
名为 sensor 的字段,您可以使用它来区分哪种传感器具有新值