android设备锁定时暂停TimerTask,解锁时恢复

android设备锁定时暂停TimerTask,解锁时恢复,android,timertask,Android,Timertask,我已将计时器设置如下 Timer t; TimerTask task; t = new Timer(); t.schedule(task, 10000); task = new TimerTask() { @Override public void run() { finish(); try { t.cancel(); t = null;

我已将计时器设置如下

Timer t;
TimerTask task;
t = new Timer();
t.schedule(task, 10000);
task = new TimerTask() {

        @Override
        public void run() {
            finish();

            try {
                t.cancel();
                t = null;
            } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }

        }
    };
现在一切都好了。我的问题始于android设备被锁定。当设备锁定时,计时器继续。我想在设备被锁定时暂停计时器,并在解锁时恢复


提前谢谢。

请检查此项。如果您的设备已锁定/解锁,则会显示

KeyguardManager kgMgr = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
boolean showing = kgMgr.inKeyguardRestrictedInputMode();

使用倒计时器和
onTick()
检查此条件
If
true停止计时器/保存计数
else
继续。

您可以尝试下面的代码

@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 
    // do stuff...
}
} 

谢谢你的回答。它真的帮助了我。谢谢你的帮助和你使用倒计时的建议。