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