Miért nem működik a thread.sleep ha a kijelző le van kapcsolva?

0 értékelés
158 megtekintés
Proty (50 pont) kérdezte Aug 2.

Addig értem hogy a képernyő lezáráskor az android el megy mély alvásba, és ez miatt a thread.sleep() Számolása megáll. Csak az a gond hogy nem tudom mivel lehetne helyettesíteni vagy a mély alvást megakadályozni.

A kód:(Egy java class ami kiterjeszti a Thread-ot)

while (true){

    tts.speak("A pontos idő"+getTime(), TextToSpeech.QUEUE_FLUSH, null);

    try {
        Thread.sleep(wait);//when screen off do not work.
    } catch (InterruptedException e) {
        e.printStackTrace();
}

Az alkalmazás tökéletesen működik ezen kívül

1 Válasz

0 értékelés
Proty (50 pont) válaszolta meg Aug 15.
Proty kiválasztva Aug 15.
 
Legjobb válasz

Idővel meg találtam a megoldást:

Egy permission kell hozzá: 

android:name="android.permission.WAKE_LOCK"

Plusz a kód:



PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "Tag");
wl.acquire();

...