如何动态获取Android代码中的当前屏幕亮度?

时间:2010-12-28 09:26:21

标签: android

如何动态获取Android代码中的当前屏幕亮度?

4 个答案:

答案 0 :(得分:13)

嗨,要获得Android系统的当前亮度级别,您可以使用此代码:

try {
    float curBrightnessValue=android.provider.Settings.System.getInt(
    getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS);
} catch (SettingNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

答案 1 :(得分:4)

这是前一段时间的问题,但只是为了扩展小说的答案:

如果之前未在代码中覆盖过,

settings.screenBrightness将返回-1。这是正确的行为,因为将screenBrightness设置为-1会将亮度设置为当前系统亮度级别。

用户可以随时更改此系统亮度,因此如果您只是尝试将亮度恢复为原始值,则可能没有多少用于存储实际值,因为实际值可能是“过时了“。

答案 2 :(得分:4)

您可以阅读此系统文件的内容

  

/ SYS /类/发光二极管/ LCD背光/亮度

此值是0-255范围内的当前屏幕亮度

答案 3 :(得分:-1)

根据这个 - http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#screenBrightness

您可以通过

更改亮度
WindowManager.LayoutParams settings = getWindow().getAttributes();
settings.screenBrightness = newValue;
getWindow().setAttributes(settings);

另请参阅Hamiora答案以获得进一步解释。