Android - Can I set the minimum brightness of auto-brightness?
It looks like this can be done on just about any device with the caveat that your device needs to be rooted and you need to be willing to poke around in your system's framework-res.apk
file. These instructions come from a post on XDA with a modification intended to lower the brightness, but scaling in the opposite direction would make it brighter:
Here is a guide on how to perform this mod on any framework-res.apk using apk manager (thanks for the guide goes to desean):
- Download APK manager and unpack somewhere
- Grab framework-res.apk from your phone under \system\framework\ (e.g. adb pull) and place it in the "place-apk-here-for-modding" folder
- Run Script.bat and select option 9
- Once done, go to projects\framework-res.apk\res\values\arrays.xml and edit your values as per first post.
- Once edited, compile the apk using option 11
- Qn: Is this a system apk. Ans: y
- Qn: Aside from the signatures, would .... least. Ans: y
- Prompt: In the apk manager folder u'll find a keep folder..... done then press enter on this script. Press any key to continue . . . You have to go to "keep" folder and delete resources.arsc because arrays.xml have been changed. After this You can press any key in apk manager window.
- Once done, input 22 in apk manager and select "unsignedframework-res.apk" by entering the number that stands for it. After selecting it You should see in apk main window in the top right corner "Current-App: unsignedframework-res.apk". Now press 5 to zipalign apk. You will find your completed, zipaligned apk under place-apk-here-for-modding\unsignedframework-res.apk. Rename it back to framework-res.apk and adb push the file back to your phone
The arrays.xml file should have a section like the below if your device supports auto-brightness:
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>32</item>
<item>69</item>
<item>118</item>
<item>177</item>
<item>255</item>
</integer-array>
Basically, the values are ordered based on detected light from the sensor, with the top value being "lowest light" and the bottom value being "highest light". The values correspond to LCD brightness on a scale from 1 to 255, with 255 being full brightness. You could therefore scale up all of the low light values to be brighter if you wanted.