如何动态获取Android代码中的当前屏幕亮度?
答案 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答案以获得进一步解释。