我正在尝试创建一个以编程方式设置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%。
出了什么问题?
答案 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" />