私は 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 クラスのメソッドにも置き換えたいと思います。問題は、new を使用して setOnClickListener で Activity を呼び出すことができないため、以前に使用した (Activity This) を使用できないことです。私は何を間違っていますか?