如何在android中检索当前系统的屏幕亮度值?

时间:2012-08-17 06:21:28

标签: android brightness

我正在尝试创建一个以编程方式设置Android设备亮度的应用。我已设法使用以下代码更改设备亮度:

BackLightValue = (float)arg1/100;
BackLightSetting.setText(String.valueOf(BackLightValue));

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = BackLightValue;
getWindow().setAttributes(layoutParams);

我使用以下代码检索当前系统亮度值:

try {
    BackLightValue = android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS);
} catch(Exception e) {}

上面的代码应该为我提供亮度的当前设置值,但是当我启动应用程序时,它显示默认值为50%。

出了什么问题?

1 个答案:

答案 0 :(得分:5)

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

int curBrightnessValue = android.provider.Settings.System.getInt(getContentResolver(), android.provider.Settings.System.SCREEN_BRIGHTNESS,-1);

清单文件中的权限。

<uses-permission android:name="android.permission.WRITE_SETTINGS" />