Я использую 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), который я использовал ранее, потому что он не позволил бы мне вызвать Activity в setOnClickListener с использованием new. Что я делаю не так?