Non lasciate che il display va in stand-by in JavaME
Domanda
Im streaming video alla mia MIDlet. E mentre si sta giocando, dopo 20 secondi (dipende da un'impostazione di sistema) display del telefono va in stand-by.
Come si può evitare questo in modo da poter guardare il video per 5 minuti per esempio, senza dover toccare qualcosa per svegliare il display?
Soluzione
Yeeeey ho capito !!! Ma è un piccolo hack e non l'effettiva funzionalità "Dont-Go-To-stand-by" ... comunque funziona PERFECT !!!! = D
Ok, quindi l'idea è di definire il timeout che il display ha bisogno di essere svegliati. Ho lasciato l'utente a definire questo nella schermata "Impostazioni" e scrivo che in RMS così posso leggere in un secondo momento ...
Successivamente, ho definire il TimerTask che chiama il metodo getDisplay().flashBacklight(100);
ogni volta che il timeout definito scade. E, questo funziona come un fascino !!! = D
Ecco il codice concept. In primo luogo sulla VideoCanvas (schermo per disegnare video) Definisco la TimerTask:
private class WakeTask extends TimerTask
{
public void run()
{
display.flashBacklight(100);
}
}
Avanti nel costruttore VideoCanvas ho avviare il timer e farlo passare il timeout, ad esempio 10 secondi ... e questo è tutto:
***
timer = new Timer();
timer.schedule(new WakeTask(), 0, 10000);
***
Quindi, se il display va a stare a dopo 15 secondi, e il timer viene eseguito ogni 10 secondi, non potrà mai andare a stare in piedi da, e rimarrà sveglierà fino a quando si arresta il timer. E se si va a stare da in 5 secondi, timer svegliarlo ogni volta che viene eseguito proprio come si fa quando si tocca qualcosa al telefono per svegliarlo. =)))
Yaaaay ... =)))
P.S. Testato su Nokia N96.