1、只改变当前程序屏幕亮度
当前屏幕亮度的取值范围:attrs.screenBrightness 0.0(暗)~1.0(亮)
需要屏幕恢复到系统亮度,可将 attrs.screenBrightness 设为 -1
(WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_NONE
调用方法
<pre name="code" class="html">public static void setBrightness(int brightValue) {
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = (brightValue <= 0 ? -1.0f : brightValue / 255f);
getWindow().setAttributes(lp);
}
2、调用系统亮度
所需权限
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
可以分为:手动调节和自动调节两种方式(
Android
2.
1 以后
提供了自动调节的功能
)
(1)判读是系统是哪种模式:手动还是自动模式
public static boolean isAutoBrightness(Activity activity) {
boolean autoBrightness = false;
ContentResolver contentResolver = activity.getContentResolver();
try {
autoBrightness = Settings.System.getInt(contentResolver,
Settings.System.SCREEN_BRIGHTNESS_MODE) == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC;
} cat