Adding screen brightness controls to android application

I am looking to add controls to adjust screen brightness locally in my app menu but can't seem to figure out how to do it. I have seen examples to max-out or dim brightness but I am looking to add controls so that the user can control and set the brightness level. Does anyone have any examples, tutorials, source code, or just a place to point me in the right direction?


Solution 1:

The internet claims this works, I haven't tried it though:

WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 100 / 100.0f;
getWindow().setAttributes(lp);

Solution 2:

You can change the user's brightness setting like this (make sure you declare permission for WRITE_SETTINGS in the manifest)

android.provider.Settings.System.putInt(getContentResolver(), 
                        android.provider.Settings.System.SCREEN_BRIGHTNESS, brightpref);

The documentation calls that setting from 0 to 255. I am trying to figure out whether it shuts the screen off at 0, as at one point I had a widget installed with a slider and you'd cause the screen to shut off if you set it to 0.

Solution 3:

This is answered by a similar question.

The only difference is that you will want to tie the screenBrightness member to the value of a user interface control.

Note that this might not work as expected on devices that have auto-dimming sensors.