Così, per molto tempo ho pensato che sapevo come fermare lo schermo di andare in modalità sleep, ho semplicemente usato questo codice nel mio attività:Tenere schermo in attività - non funziona con FLAG_KEEP_SCREEN_ON
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Tuttavia, mi sono reso conto che questo ha funzionato solo quando il mio telefono era in "modalità sviluppatore", vale a dire quando il debug USB (Impostazioni -> opzioni sviluppatore -> debug USB) è stato abilitato/selezionata. Quindi i suddetti codici fermano effettivamente lo schermo/dispositivo per andare a dormire.
Quando il debug non è selezionato, il mio schermo va a dormire come se non ci fosse un domani. Sono in esecuzione Android 4.04 sul mio dispositivo e
android:minSdkVersion="12"
android:targetSdkVersion="16"
Qualcuno ha sentito parlare di questo problema?
EDIT
Ho testato con Commonswares suggestione, e ha aggiunto la setKeepScreenOn() al codice, in modo che assomiglia a questo:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
View root = findViewById(android.R.id.content);
if (root != null)
root.setKeepScreenOn(true);
Inoltre ho controllato in modo che questo codice è effettivamente eseguito, ed è. Ma non cambia nulla ...
Ill provare, ma sembra che il FLAG_KEEP_SCREEN_ON potrebbe anche funzionare se l'applicazione è "schierato" via Eclipse, ma * non * se scarico lo stesso codice esatto da Google Play. Eppure, tutti "fuori là" sulla rete dicono che FLAG_KEEP_SCREEN_ON funziona ... Non posso essere l'unico con questo problema? – Ted
Dal momento che non ho mai usato 'FLAG_KEEP_SCREEN_ON', e solo abbia mai usato' setKeepScreenOn() '(come è più semplice), non posso commentare quanto riguarda l'efficacia del vostro' codice FLAG_KEEP_SCREEN_ON'. – CommonsWare
Ok, non funziona anche con setKeepScreenOn(). – Ted