我正在创建这个非常简单的应用程序,因为我刚开始使用Android而且我没有使用Java的经验。无论如何,我所拥有的只是一个计时器和一个按钮。显然,按钮启动计时器,计时器从60(1分钟)开始倒计时,然后在完成时振动。所有工作都很好,直到我决定按下锁定屏幕按钮让手机进入睡眠状态。我发现我的应用程序中的计时器停止运行,直到我解锁手机。如果我将自动睡眠时间设置为少于60秒并且手机自己睡着了,也会发生这种情况。我的问题是 - 即使屏幕不活动,我怎么能让计时器运行?
答案 0 :(得分:1)
您需要使用BroadCastRecievers
进行系统调用。 (Related Helpful question)
您还可以使用life-cyles播放Activity
的{{3}}。
使用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
}
}