繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM