Android开发:改变服务中的屏幕亮度

时间:2011-07-03 19:27:28

标签: android service screen brightness

现在我再试一次。

我想改变屏幕亮度。

我试过了:

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

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

2 个答案:

答案 0 :(得分:5)

服务无法改变屏幕亮度。服务没有用户界面,因此它没有Window

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

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

答案 1 :(得分:0)

您需要从服务中启动活动,您需要做的就是:

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

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

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

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