android设置自动亮度,Android亮度调节的几种实现方法

最近在做一个App的设置项,亮度调节。真正做时,发现Android亮度调节比预想要复杂一些。其实目前网上已有不少这方面的资料,但有些博文具有一定误导性。在此将这块内容按照自己理解整理一下。

整体上看,Android亮度调节分为三个层次,分别是:Android系统亮度调节、Android App亮度调节和Android当前屏幕(Window)亮度调节。

1.Android系统亮度调节

Android系统亮度调节全局性最高,常见于系统设置中的亮度设置项。Android中提供了获取和设置系统亮度值(“手动模式下的亮度值”)的接口,具体如下:

// 获取系统亮度

Settings.System.getInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS);

// 设置系统亮度

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_BRIGHTNESS,systemBrightness);

其中,需要注意的是,返回的亮度值是处于0-255之间的整型数值。

Android 2.1以后的系统中,系统亮度调节中新增了“自动亮度”选项。“自动亮度”是依据外界光源来自动的改变系统亮度,目前大部分手机中对“自动亮度”还可以进行小幅度的调节其值。与自动亮度相对应的是“手动亮度”,当处于“手动亮度”下,设置拖动亮度进度条会大幅度的改变Android系统亮度。“手动亮度”和“自动亮度”分别称之为Android系统的“亮度模式”。

与之相对应的,Android系统中也提供了获取和设置“亮度模式”的接口。

// 获取系统亮度模式

Settings.Sy

你可能感兴趣的:(android设置自动亮度)