/ / Pauza TimerTask, keď je zariadenie Android uzamknuté a pokračuje späť, keď je odomknuté - android, timertask

Pauza TimerTask, keď je zariadenie Android uzamknuté a obnoví sa, keď je odomknuté - android, timertask

Nastavil som časovač, ako je uvedené nižšie.

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();
}

}
};

Všetko funguje teraz. Môj problém sa spustí, keď sa zariadenie Android dostane do uzamknutia. Časovač pokračuje, keď je zariadenie uzamknuté. Chcem pozastaviť svoj časovač, keď sa zariadenie zamkne a vráti sa späť, keď je odomknuté.

Vopred ďakujem.

odpovede:

0 pre odpoveď č. 1

môžete skúsiť nižšie kód

@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...
}
}

1 pre odpoveď č. 2

Skontroluj to. Zobrazuje sa, či je vaše zariadenie uzamknuté / odomknuté

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

Použite časovač odpočítavania a onTick() z kontroly tejto podmienky. If skutočný časovač zastávky / uloženie počtu else ďalej.