我创建这个非常简单的应用程序,因为我刚刚与Android开始,我对Java什么那么没有经验。 总之,我只有一个定时器和一个按钮。 显然,按钮启动,从60(1分钟)向下计数,然后当它这样做振动计时器。 所有工作得很好,直到点,我决定按下锁屏键把手机睡觉。 我发现,在我的应用程序定时器停止下去,直到我将手机解锁。 这也发生如果我设置自动睡眠时间小于60秒钟,电话就睡着了它自己。 我的问题是 - 我怎么能有天文台运行,即使当屏幕处于非活动状态?
Answer 1:
你需要让这个使用BroadCastRecievers
进行系统调用。 ( 相关有用的问题 )
您也可以渔翁得利生活个循环中的Activity
使用的PowerManager
。
例如,使用PowerManager
:
@Override
protected void onPause()
{
super.onPause();
// If the screen is off then the device has been locked
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
boolean isScreenOn = powerManager.isScreenOn();
if (!isScreenOn) {
// The screen has been locked
// Continue your timer
}
}
文章来源: Timer stops every time the phone sleeps