tiene pantalla mejorar contraste celular brillo bajar aumentar aplicacion ajustar android screen-brightness

mejorar - cambiando el brillo de la pantalla programáticamente en android



mejorar contraste android (6)

¿Qué le parece usar la interfaz IHardwareService para esto? Un ejemplo se puede encontrar en este tutorial .

Actualización: el enlace del tutorial todavía funciona, pero el código real también está disponible en la próxima respuesta.

Quiero cambiar el brillo de la pantalla programáticamente en Android. Por el momento utilizo este código:

WindowManager.LayoutParams lp = getWindow().getAttributes(); float brightness=1.0f; lp.screenBrightness = brightness; getWindow().setAttributes(lp);

Pero este código de muestra funciona en cupcake, no en las últimas versiones. Estoy usando la última versión de SDK. ¿Cuál es la solución preferida para las nuevas versiones de Android?


@kamal_tech_view: debe convertir el valor layout.screenBrightness = value; flotar


Debe agregar parámetros a la Window antes de que se cree, de lo contrario arrojará java.lang.IllegalArgumentException: Window type can not be changed after the window is added.

Vea el ejemplo con un android.app.Dialog.Dialog .

final Dialog dialog = new Dialog(this) { @Override public void onAttachedToWindow() { super.onAttachedToWindow(); WindowManager.LayoutParams layout = getWindow() .getAttributes(); layout.screenBrightness = 1F; getWindow().setAttributes(layout); } }; dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE); dialog.show();

Tenga en cuenta que el valor de brillo está entre 0.0F y 1.0F.




final Dialog dialog = new Dialog(act); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog .setContentView(R.layout.menubase_brightness_control); dialog.setCanceledOnTouchOutside(true); SeekBar global_brightness_control = (SeekBar) dialog .findViewById(R.id.global_brightness_control); global_brightness_control.setMax(255); global_brightness_control.setProgress(Settings.System.getInt( con.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS)); global_brightness_control .setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { public void onStopTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } public void onStartTrackingTouch(SeekBar seekBar) { // TODO Auto-generated method stub } public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Settings.System .putInt(con.getContentResolver(), Settings.System.SCREEN_BRIGHTNESS, progress); } }); dialog.show();