[英]How to get current screen's brightness in Android code dynamiclly?
如何动态获取Android代码中当前屏幕的亮度?
您好,您可以使用以下代码来获取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();
}
不久前有人问过这个问题,但这只是为了扩大小说的答案:
如果以前未被代码覆盖,settings.screenBrightness将返回-1。 这是正确的行为,因为将screenBrightness设置为-1会将亮度设置为当前系统亮度级别。
用户可以随时更改此系统亮度,因此,如果您只是试图将亮度恢复为其原始值,则存储实际值可能没有太多用处,因为实际值可能已“过时”。 ”。
您可以阅读此系统文件的内容
/ sys / class / leds / lcd-backlight /亮度
此值为当前屏幕亮度,范围为0-255
与此对应-http: //developer.android.com/reference/android/view/WindowManager.LayoutParams.html#screenBrightness
你可以通过改变亮度
WindowManager.LayoutParams settings = getWindow().getAttributes();
settings.screenBrightness = newValue;
getWindow().setAttributes(settings);
另请参阅Hamiora答案以获取更多说明。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.