2012-02-15 47 views
5

Estoy haciendo una aplicación que enciende y apaga la pantalla con el sensor de proximidad. El código de proximidad ha finalizado, pero tuve problemas al usar los controles de pantalla.Android Java: Apagar la pantalla

He leído que debo utilizar,

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

Por eso, tengo que conceder permisos especiales con el fin de hacer que funciona, pero no he encontrado la manera de hacerlo.

Además, he leído sobre el cambio de brillo de la pantalla

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

Pero de esta manera sólo apagar la pantalla de mi solicitud; no funciona si mi aplicación se ejecuta en segundo plano.

También he leído sobre el uso de Wakelock (Los uso para despertar a mi teléfono desde la pantalla-off), pero cuando

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

Pero cuando hago eso, no pasa nada.

¿Hay alguna otra manera de hacerlo?

+0

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

+0

Agradezca, pero parece que el problema ha sido resuelto ni existe – Bertrand

+0

@ Siéntate: ¿Cómo resolviste esto? ? – astuter

Respuesta

1

Usted necesita darle a su aplicación a los permisos adecuados para hacer eso:

Añadir <uses-permission android:name="android.permission.DEVICE_POWER" /> a su manifiesto en el interior del <manifest> Tag

Si desea mantener la pantalla en el uso de esto, según lo sugerido por Dianne Hackborn en Google Plus: KeepScreenOn

+0

Gracias por su respuesta. He puesto ese permiso en el manifiesto, pero dado que es un permiso de nivel 2, necesitamos tener un permiso específico (Sistema) para usarlo. Eso es lo que he llamado "Permisos especiales", lo siento, lo he explicado de una manera muy mala. – Bertrand

Cuestiones relacionadas