每次手机休眠时,计时器都会停止

时间:2014-07-10 21:01:09

标签: android timer

我正在创建这个非常简单的应用程序,因为我刚开始使用Android而且我没有使用Java的经验。无论如何,我所拥有的只是一个计时器和一个按钮。显然,按钮启动计时器,计时器从60(1分钟)开始倒计时,然后在完成时振动。所有工作都很好,直到我决定按下锁定屏幕按钮让手机进入睡眠状态。我发现我的应用程序中的计时器停止运行,直到我解锁手机。如果我将自动睡眠时间设置为少于60秒并且手机自己睡着了,也会发生这种情况。我的问题是 - 即使屏幕不活动,我怎么能让计时器运行?

1 个答案:

答案 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
    }
}