Android 仅当存在运动时,传感器上的火才会发生变化

Android 仅当存在运动时,传感器上的火才会发生变化,android,android-sensors,Android,Android Sensors,我有一个后台服务,需要很大的电力,但只有在设备移动时才需要。我注册了一个传感器 sensorManager.registerListener(此, sensorManager.getDefaultSensor(传感器类型\加速计), 传感器管理器。传感器(延迟游戏) 如果没有检测到运动,则希望睡眠线程,但 onSensorChanged 由于万有引力,事件永久性地升高。 我能够计算,如果有真实的运动,但我希望服务使用尽可能少的功率,并且不希望永久计算运动,如果有真实运动,是否有可能注册一个只引发

我有一个后台服务,需要很大的电力,但只有在设备移动时才需要。我注册了一个传感器

sensorManager.registerListener(此, sensorManager.getDefaultSensor(传感器类型\加速计), 传感器管理器。传感器(延迟游戏)

如果没有检测到运动,则希望睡眠线程,但

onSensorChanged

由于万有引力,事件永久性地升高。
我能够计算,如果有真实的运动,但我希望服务使用尽可能少的功率,并且不希望永久计算运动,如果有真实运动,是否有可能注册一个只引发onSensorChanged事件的侦听器?

您有一个生产者(运动检测代码)和消费者(服务)。消费者睡觉,直到有东西要处理。如果它是“真实的”,生产者应该只产生
运动
。但是加速计在z轴上不断产生9.81的运动,我希望忽略这种引力“运动”看这里:我终于明白了,事实上有一个变化,但很小,我需要一种方法使加速计不那么精确^^链接很有用,但只描述了从数据计算“真实运动”的方法。我的目标是节省电池,我认为加速计不是实现我目标的好方法。。。