4

现在我再试一次。

我想改变屏幕亮度。

我试过了:

WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = 0.5F; // set 50% brightness
getWindow().setAttributes(layoutParams);

并且似乎在活动中工作,但是当我在服务中时,我得到了getWindow()编译错误。

4

2 回答 2

5

服务无法以这种方式更改屏幕亮度。服务没有用户界面,因此它没有Window.

您可以尝试通过SCREEN_BRIGHTNESS系统设置更改整个系统的亮度。我不知道这是否有效,因为我没有尝试过。

否则,请修改您的活动以更改其亮度。

于 2011-07-03T20:41:57.730 回答
0

您需要从您的服务开始一项活动,您需要做的就是:

Intent myIntent = new Intent(getBaseContext(), MyActivity.class);
getApplication().startActivity(myIntent);

其中 MyActivity 是您要开始的活动。在该活动中,您可以输入代码来更改窗口亮度,它将起作用。

我在这里包含了完整的代码:https ://stackoverflow.com/a/9848456/1204377

如果还不清楚,请告诉我。

于 2012-03-24T01:21:20.527 回答