¿Cómo detectar si la pantalla está activada o desactivada si el nivel de API es 4?

Me pregunto cómo detectar la pantalla tenue o el brillo en Android 1.6.

Encontré una solución en API Nivel 7. Es fácil de desarrollar:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); boolean isScreenOn = pm.isScreenOn(); 

Pero necesito una solución para Android 1.x.

¿Me puedes sugerir?

Gracias.

Para el estado de encendido / apagado de la pantalla, puede probar con ACTION_SCREEN_ON y ACTION_SCREEN_OFF Intent s, como se muestra en esta publicación del blog: http://thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen- en-bashs /

El enfoque con ACTION_SCREEN_ON no funcionó para mí. Después de algunas soluciones diferentes, este código finalmente resolvió el problema para mí:

 /** * Is the screen of the device on. * @param context the context * @return true when (at least one) screen is on */ public boolean isScreenOn(Context context) { if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) { DisplayManager dm = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE); boolean screenOn = false; for (Display display : dm.getDisplays()) { if (display.getState() != Display.STATE_OFF) { screenOn = true; } } return screenOn; } else { PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE); //noinspection deprecation return pm.isScreenOn(); } }