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