计时器停止每个手机睡觉时间(Timer stops every time the phone sle

2019-10-20 10:50发布

我创建这个非常简单的应用程序,因为我刚刚与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
标签: android timer