我正试图在Android手机上循环加速度计,但我不确定实现它的正确方法是什么。 更具体地说,我想分配占空比百分比x%,这意味着加速度计将在x%的时间内被激活,并且在1%x%的时间内休息。 我正在考虑使用两个TimerTasks,但我也想知道其他选项。
谢谢!
答案 0 :(得分:1)
你需要一个定时器,在一段时间T内给出脉冲和关闭脉冲。 占空比= Ton / Ton + Toff 因此,如果你有一个可以在那段时间内产生这些脉冲的计时器,那么你就完成了。
答案 1 :(得分:1)
您可以使用Handler.postDelayed()作为计时(在此处调用postDelayed,在采样窗口长度和睡眠窗口长度之间交替延迟)。 对于这个解决方案(以及带有TimerTask的解决方案!),您需要保持唤醒锁定,因为定时器在进入睡眠模式后不会唤醒设备。
因此,如果你想在后台感知这会快速耗尽电池!在这种情况下,您必须使用AlarmManager定期唤醒设备,然后仅在采样窗口长度内获取唤醒锁。