通过上下文改变亮度?

时间:2015-03-27 11:28:17

标签: java android

我目前正试图弄清楚如何通过非活动类改变屏幕亮度。

我在stackoverflow上找到了这个方法:

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = curBrightnessValue/100.0f;
getWindow().setAttributes(layoutParams);

现在问题是,我无法从我的类访问getWindow()方法,因为它没有扩展和活动。 电话看起来有点像这样:

BrightnessClass.changeBrightness(context);

并且BrightnessClass中的方法如下所示:

public static void changeBrightness(Context context, int v) {
    //Change brightness here
}

现在如何通过上下文访问getWindow()方法,有没有办法?或者我是否必须移交一个活动实例来调用此方法?

提前致谢

编辑: 该方法由服务调用。这就是为什么我有一个上下文而不是一个活动。

1 个答案:

答案 0 :(得分:0)

您正在尝试更改系统亮度,但您正在更改窗口亮度。窗口仅用于不在服务中的活动。如果您想更改系统亮度,则可以参考此answer