3

我正在尝试设置屏幕亮度,但是当我尝试使用 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);
4

3 回答 3

0

如果您从片段中调用它,请在 getWindow() 之前添加 getActivity() 像这样

getActivity().getWindow().setAttributes(layoutParams);

如果使用 seekbar 不要让你的 brogress 为 0,因为它会使你的屏幕完全变暗(在 android 2.3 上)

于 2014-05-14T11:58:27.490 回答
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);
于 2011-09-26T09:29:24.593 回答
0

如果您使用的是搜索栏,请尝试这些行,

System.putInt(cResolver, System.SCREEN_BRIGHTNESS, brightness);
LayoutParams layoutpars = window.getAttributes();
layoutpars.screenBrightness = brightness / (float)255;
window.setAttributes(layoutpars);
于 2014-05-07T03:59:41.700 回答