1.通过 Overlay(叠加资源)机制,覆盖 Android 系统默认的亮度配置值,从而在系统初始设置或恢复出厂设置时,改变屏幕亮度的默认表现。
java
project vendor/mediatek/proprietary/packages/overlay/vendor/
diff --git a/FrameworkResOverlay/res/values/config.xml b/FrameworkResOverlay/res/values/config.xml
index 3196e6e..abf9bd7 100755
--- a/FrameworkResOverlay/res/values/config.xml
+++ b/FrameworkResOverlay/res/values/config.xml
@@ -28,7 +28,7 @@
<item name="config_screenBrightnessSettingMaximumFloat" format="float" type="dimen">1.0</item>
<!-- Default screen brightness setting set.
Set this to 0.4 for Default brightness Float.-->
- <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.5</item>
+ <item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">0.85</item>
<!-- default color mode -->
<integer-array name="config_availableColorModes">
<item>0</item>
2.通过修改 AOSP 源码中 frameworks/base/core/res/res/values/config.xml 文件的默认亮度整数值配置项,来调整系统亮度调节的最小值、最大值和默认值。
java
/frameworks/base/core/res/res/values/config.xml
<!-- Note: This setting is deprecated, please use
config_screenBrightnessSettingMinimumFloat instead -->
<integer name="config_screenBrightnessSettingMinimum">10</integer>
<!-- Note: This setting is deprecated, please use
config_screenBrightnessSettingMaximumFloat instead -->
<integer name="config_screenBrightnessSettingMaximum">255</integer>
<!-- Note: This setting is deprecated, please use
config_screenBrightnessSettingDefaultFloat instead -->
<integer name="config_screenBrightnessSettingDefault">102</integer>
<!-- Minimum screen brightness setting allowed by power manager.
-2 is invalid so setting will resort to int value specified above.
Set this to 0.0 to allow screen to go to minimal brightness.
The user is forbidden from setting the brightness below this level. -->
<item name="config_screenBrightnessSettingMinimumFloat" format="float" type="dimen">-2</item>
<!-- Maximum screen brightness allowed by the power manager.
-2 is invalid so setting will resort to int value specified above.
Set this to 1.0 for maximum brightness range.
The user is forbidden from setting the brightness above this level. -->
<item name="config_screenBrightnessSettingMaximumFloat" format="float" type="dimen">-2</item>
<!-- Default screen brightness setting set.
-2 is invalid so setting will resort to int value specified above.
Must be in the range specified by minimum and maximum. -->
<item name="config_screenBrightnessSettingDefaultFloat" format="float" type="dimen">-2</item>
这6个配置定义了屏幕亮度的最小、最大和默认值:
- 整数版本
- config_screenBrightnessSettingMinimum = 10(最暗亮度)
- config_screenBrightnessSettingMaximum = 255(最亮亮度)
- config_screenBrightnessSettingDefault = 102(默认亮度)
- 浮点版本
- config_screenBrightnessSettingMinimumFloat = -2(无效,使用整数值替代)
- config_screenBrightnessSettingMaximumFloat = -2(无效,使用整数值替代)
- config_screenBrightnessSettingDefaultFloat = -2(无效,使用整数值替代)
说明: 浮点值为-2表示禁用,系统会退回用整数值控制亮度。若启用浮点控制,需设置合理0.0~1.0之间的值。