2011-09-28 92 views
0

我想在使用Android锁定屏幕时识别摇动事件。 我做了一个服务在后台运行,但是当屏幕锁定时,它不起作用。如何在屏幕锁定时运行服务?

屏幕锁定时是否可以运行服务? 如果没有,是否有一个workarround :)

+0

解锁手机,然后摇动。 :)因此,当手机被锁定时,您的服务无法检测到任何振动事件?这是有道理的,因为你如何分辨某人慢跑,口袋里是否有电话,想要摇动手机? –

+0

什么不行?屏幕锁定后,您的代码是否没有执行?我建议分享您的相关代码... – Knickedi

+0

是的,服务在屏幕锁定时不工作。当我解锁手机时,再次开始工作。手机锁定时服务停止。 –

回答

1

的服务关闭时,手机被锁定

没有,服务不“下”。 CPU关闭。当屏幕变黑时,设备通常会进入睡眠模式,没有任何东西在运行。这很正常。此外,为用户提供体面的待机电池寿命至关重要。

如果您想在屏幕关闭的情况下让设备保持运行一两分钟,请使用WakeLock

+0

WakeLock确实有效:) –

+0

如果用户明确锁定屏幕,是否有一种方法可以保持“Service”运行(不一定能检测传感器变化)? 'WakeLock'在这里没有多大帮助。 – alex

+0

@alex:显式锁定屏幕应该对服务没有影响,因为屏幕本身对服务没有影响。重要的是当CPU关机时,这就是'WakeLock'进来的地方。 – CommonsWare