现在我再试一次。
我想改变屏幕亮度。
我试过了:
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.screenBrightness = 0.5F; // set 50% brightness
getWindow().setAttributes(layoutParams);
并且似乎在活动中工作,但是当我在服务中时,我得到getWindow()
编译错误。
答案 0 :(得分:5)
服务无法改变屏幕亮度。服务没有用户界面,因此它没有Window
。
您可以尝试通过SCREEN_BRIGHTNESS
系统设置更改系统范围内的亮度。我不知道这是否有效,因为我没有尝试过。
否则,请修改您的活动以更改其亮度。
答案 1 :(得分:0)
您需要从服务中启动活动,您需要做的就是:
Intent myIntent = new Intent(getBaseContext(), MyActivity.class);
getApplication().startActivity(myIntent);
其中MyActivity是您要启动的活动。在该活动中,您可以使用代码来更改窗口亮度,它将起作用。
我在这里添加了完整的代码:https://stackoverflow.com/a/9848456/1204377
如果目前还不清楚,请告诉我。