2012-09-17 35 views
-1

我正在尝试循环Android手机上的加速度计,但我不确定实现它的正确方法是什么。 更具体地说,我想分配占空比百分比x%,这意味着加速度计将在时间的x%百分比内被激活,并且休息时间为百分之一x。 我正在考虑使用两个TimerTasks,但我想知道其他选项。如何在Android应用程序中使用占空比实现加速度计

谢谢!

回答

1

您可以使用Handler.postDelayed()作为定时(您调用postDelayed,延迟在采样窗口长度和睡眠窗口长度之间交替)。 对于该解决方案(以及使用TimerTask解决方案!),您将需要保持Wake Lock,因为定时器在进入睡眠模式后不会唤醒您的设备。

因此,如果你想在后台感知,这将快速消耗电池!在这种情况下,您必须使用AlarmManager定期唤醒设备,然后仅在采样窗口长度期间获取Wake Lock。

+0

那么,即使我的应用程序在后台运行(关闭屏幕),AlarmManager仍会定期唤醒我的设备吗? 我试图在服务中实现我的AlarmManager,但它从不调用广播接收器。我应该在活动中实施吗? 在此先感谢! – user1564293

1

你需要一个计时器,在一段T. 占空比的脉冲上和关断脉冲给=吨/吨+ Toff的 所以,如果你有一个定时器,可以产生在那个时期那些脉冲,然后你做。

相关问题