其他分享
首页 > 其他分享> > 如何在android中检索当前系统的屏幕亮度值?

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

作者:互联网

我正在尝试创建一个应用程序,它将以编程方式设置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%.

出了什么问题?

解决方法:

这是正确的行为,因为将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" />

标签:brightness,android
来源: https://codeday.me/bug/20190901/1786476.html