我正在尝试设置屏幕亮度但是当我尝试使用this.getWindow()获取当前窗口时,我得到null。为什么是这样?我将在setBrightness()方法中发布所有代码。
System.putInt(getContentResolver(), System.SCREEN_BRIGHTNESS,
brightness);
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness / (float) 255;
window.setAttributes(lp);
答案 0 :(得分:0)
不要使用System.putInt()...你已经在lp中设置了screenBrightness!
以下代码有效:
Window window = getWindow();
float brightness = 100.0f;
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness/255.0f;
window.setAttributes(lp);
答案 1 :(得分:0)
如果您使用的是搜索栏,请尝试以下这些行
System.putInt(cResolver, System.SCREEN_BRIGHTNESS, brightness);
LayoutParams layoutpars = window.getAttributes();
layoutpars.screenBrightness = brightness / (float)255;
window.setAttributes(layoutpars);
答案 2 :(得分:0)
如果你在像getWindow()这样的
之前从片段中添加getActivity()来调用它getActivity().getWindow().setAttributes(layoutParams);
如果使用seekbar不要让你的brogress为0,因为它会使你的屏幕变得完全黑暗(在android 2.3上)