我正在开发一个Android应用程序,我必须听取接近传感器和加速计传感器。棘手的部分是我必须在同一个服务中使用它。
我知道我必须在onCreate()
方法中单独注册每个监听器。但我只能有一个onSensorChanged()
方法。正确?
是否可以区分onSensorChanged()
方法中的听众?
或者还有其他办法吗?或者它可以在第一时间完成吗?
提前致谢。
答案 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
字段,可用于区分哪种传感器具有新值