I wanted to brighten the screen, but all articles said you needed Android permissions. Codswallop! Here’s how!
The reason I needed screen brightness without Android permissions was so that QR codes could have the most chance of successful scanning (whilst avoiding drop off when people reject the permission). Turning the brightness to full will give you the max contrast for your QR code legibility.
Maybe my Google foo wasn’t up to scratch but all articles I found said you needed Android permissions. I could’t find a recent article stating a way to avoid this.
I kept bumping in to
android.permission.WRITE_SETTINGS answers, which makes sense if you want to change the brightness for your system as well, but when you want to just adjust the brightness temporarily & programatically for your own Activity this is best to be avoided.
Here is how:
window.attributes = window.attributes.also
it.screenBrightness = 1f
Takes a float value between 0 – 1. With 1 being max brightness.
window comes from the Activity context, so you can do this from
onCreate or anywhere you have an activity scoped context.
The brightness will reset itself when your activity is no longer visible.
This can be used to override the user’s preferred brightness of the screen. A value of less than 0, the default, means to use the preferred screen brightness. 0 to 1 adjusts the brightness from dark to full bright.
That’s it! Easy 🙂
Shout out to Ed Holloway-George on this one, when you know you know!