我正在使用 getwindow 在我的 onCreate 中的一堆活动的开头设置很多东西。我想用如下方法替换它:
public static void initializeScreen (Activity This){
This.requestWindowFeature(Window.FEATURE_NO_TITLE);
if (global.notBarOnOff == true) {
This.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
This.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);}
//Keeps Screen on
This.getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
// Controls Screen Brightness
Settings.System.putInt(This.getContentResolver(), SCREEN_BRIGHTNESS_MODE, SCREEN_BRIGHTNESS_MODE_MANUAL);
final WindowManager.LayoutParams settings = This.getWindow().getAttributes();
settings.screenBrightness = (float) 0.10;
This.getWindow().setAttributes(settings);
}
现在我认为通过调用 SCREEN_Controller.initializeScreen(this) 可以正常工作
后来我让用户通过按一个按钮来改变亮度。
bLight.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
settings.screenBrightness = (float) 1;
getWindow().setAttributes(settings);
我知道要使用我的 initializeScreen 我必须将以下内容添加到我的侦听器中
WindowManager.LayoutParams settings = This.getWindow().getAttributes();
所以我想用我的 SCREEN_Controller 类中的方法替换它。问题是我不能使用之前使用的 (Activity This),因为它不允许我使用 new 调用 setOnClickListener 中的 Activity。我究竟做错了什么?