前言,本文通过修改framework代码实现,单纯在app上是无法做到的,此外本文修改的是安卓9.0源码。
1、安卓app中通过代码修改屏幕亮度的方法。
可能需要的权限:
设置屏幕亮度:
/**
* app中设置亮度函数
* 设置当前系统的亮度值:0~255
* 虽然参数可以为0,但是实际上屏幕还是有一定亮度,实际会设置为10,这个值对应的具体配置文件位置:
* frameworks\base\core\res\res\values\config.xml中config_screenBrightnessSettingMinimum值
* 虽然把这个值设为0可以将亮度设为0,但是系统设置中的亮度调节也可以调到0,这不是我们想要的结果。
* 我们只是单纯的想通过代码设置亮度为0
*/
public void setSysScreenBrightness(int brightness, Context context) {
try {
ContentResolver resolver = context.getContentResolver();
Uri uri = Settings.System.getUriFor(Settings.System.SCREEN_BRIGHTNESS);
Settings.System.putInt(resolver, Settings.System.SCREEN_BRIGHTNESS, brightness);
resolver.notifyChange(uri, null); // 实时通知改变
} catch (Exception e) {