我无法理解屏幕超时功能以及如何影响代码在我的活动中运行。当屏幕超时时onPause()会被调用吗?是在屏幕超时时调用的活动onPause方法?
我有一个活动和相关的服务运行一个AsyncTask,它从60秒倒计时。我希望能够锁定屏幕,并在计时器结束时,开始一项新的服务和新的活动,发出警报并振动手机。当用户唤醒手机时,他们应该看到新的活动,其显示正在通过新服务的广播接收器进行更新。
我发现的是,行为是非常不可预测的。一旦屏幕超时,它通常会发出警报,并在锁定屏幕下显示新的活动,但这需要2-4分钟的时间,有时根本不会发生。我似乎手动锁定屏幕获得更好的结果,而不是等待超时,但它仍然不可预知,并且每部手机都不相同。
如果有人对发生了什么事情有任何想法/建议,甚至是否这种方法是明智的,将不胜感激。
问候
你的代码是什么?我理解你的问题有一些困难。 – IvoryCirrus 2011-10-17 13:13:47
经过更多调查后,我发现手机在屏幕超时时似乎完全睡眠。在logcat中查看时,有一分钟的时间内没有任何日志产生(我自己和系统日志)。无论如何强迫服务被赋予高优先级?我曾尝试在我的服务中使用startForeground(),但行为相同。 – 2011-10-18 09:44:35