¿Cómo leer el valor real, actual del brillo / dim de la pantalla para Android?

Toda la pregunta está en el título, así que me gustaría hacer hincapié en lo que puedo:

Lamentablemente, a pesar de leer numerosos puestos, no sé la respuesta. Escribí poca utilidad, que cada segundo muestra el tiempo y el brillo. Y no funciona – porque cuando el teléfono (LG L5 con Android 4.0) baja automáticamente el brillo (la pantalla está atenuada, y no hay duda) los valores permanecen iguales !

Aquí está la pieza relevante de código:

try { float sys_brightness = android.provider.Settings.System .getFloat(getContentResolver(), android.provider.Settings .System.SCREEN_BRIGHTNESS); WindowManager.LayoutParams lp = getWindow().getAttributes(); float dim = lp.dimAmount; float scr_brightness = lp.screenBrightness; boolean dim_changed = (lp.flags & WindowManager.LayoutParams .DIM_AMOUNT_CHANGED)>0; textView.setText(String.format("%02d:%02d:%02d", hours, minutes, seconds)+" " +String.format("%02f, %02f, %02f", sys_brightness,dim,scr_brightness) +" "+Boolean.toString(dim_changed)); } catch (SettingNotFoundException ex) { textView.setText("excepton"); } 

Para el registro, los valores son – 92, 1,0, -1,0, falso. Todo el tiempo.

PREGUNTA : ¿cómo leer el valor actual, real de brillo / oscuridad?

He añadido el reloj a la salida para estar seguro, mis lecturas son tictac. Y estan.

Si haces grep -r "SCREEN_BRIGHTNESS" * en android/system/frameworks (código fuente android) encontrarás: BrightnessController.java que se utiliza para controlar el brillo. Quizás puedas usar esta clase como inspiración.

El fragmento siguiente produce un número de coma flotante que varía de 0 a 1, lo que parece corresponder al brillo.

 WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); Float darkness = layoutParams.screenBrightness; 

Parece que la tableta Asus muestra una pantalla tenue cuando el brillo se pone a cero. El fuego encendido es bastante oscuro y se retira detrás de la pantalla de la cerradura.

  • Activar y desactivar la pantalla mediante programación en android
  • Tipo de pantalla / brillo de Android
  • ¿Cómo obtener cordinates de pantalla correspondientes a toda la pantalla, y no la vista tocado?
  • ¿Cómo puedo bloquear el diseño de mi programa Android a una orientación
  • ¿Qué pasa si dejo todas mis imágenes en la carpeta drawable-hdpi?
  • ¿Desplazamiento del papel tapiz para el API nivel 3?
  • Filtro de pantalla de brillo
  • Mostrar imagen de aplicación personalizada en el administrador de tareas de ICS o JB
  • ¿Hay algún dispositivo Android con resolución 640x960?
  • ¿Cómo obtener el tamaño visible en una actividad?
  • Sólo en la aplicación Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.