2012-02-15 3 views
5

Sto facendo un'applicazione che attiva e disattiva lo schermo con il sensore di prossimità. Il codice di prossimità è finito, ma ho avuto problemi usando i controlli dello schermo.Android Java: Spegni lo schermo Off

Ho letto che dovrei usare,

PowerManager manager = (PowerManager) getSystemService(Context.POWER_SERVICE); 
manager.goToSleep(int amountOfTime); 

Per questo, ho bisogno di concedere le autorizzazioni speciali al fine di rendere funziona, ma non ho capito come farlo.

Inoltre, ho letto su come modificare la luminosità dello schermo

WindowManager.LayoutParams params = getWindow().getAttributes(); 
      params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; 
      params.screenBrightness = 0; 
      getWindow().setAttributes(params); 

Ma in questo modo girare solo lo schermo spento alla mia domanda; non funziona se la mia applicazione è in esecuzione in background.

Ho anche letto sull'utilizzo Wakelock (io uso loro di riattivare il mio telefono dallo schermo-off), ma quando

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

Ma quando lo faccio, non succede nulla.

C'è un altro modo per farlo?

+0

Vedi http://stackoverflow.com/questions/3643907/putting-the-system-to-sleep-on-android –

+0

Grazie di, ma sembra che il problema è stato risolto né ci – Bertrand

+0

@ Sit: Come hai risolto questo ? – astuter

risposta

1

è necessario dare la vostra applicazione i permessi giusti per farlo:

Aggiungi <uses-permission android:name="android.permission.DEVICE_POWER" /> al vostro manifesto all'interno del <manifest> Tag

Se si desidera mantenere il vostro schermo in uso questo, come suggerito da Dianne Hackborn su Google Plus: KeepScreenOn

+0

Grazie per la risposta. Ho inserito tale autorizzazione nel manifest, ma poiché si tratta di un'autorizzazione di livello 2, è necessario disporre di un'autorizzazione specifica (Sistema) per poterlo utilizzare. Questo è quello che ho chiamato "Permessi speciali", mi spiace di averlo spiegato in modo pessimo. – Bertrand