5

私は周りを見回しており、その 1 つのアクティビティの明るさを設定するコードしか見つかりませんでした。実際の電話設定を変更しようとしています。私が試したコードは次のとおりです。

public class AutoPowerManagerActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        try {
            adjustBright();
        } catch (SettingNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    private void adjustBright() throws SettingNotFoundException {
        // TODO Auto-generated method stub
        int brightnessMode = Settings.System.getInt(getContentResolver(),
                Settings.System.SCREEN_BRIGHTNESS_MODE);
        if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
            Settings.System.putInt(getContentResolver(),
                    Settings.System.SCREEN_BRIGHTNESS_MODE,
                    Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
        }

        WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
        layoutParams.screenBrightness = 0.5F;
        getWindow().setAttributes(layoutParams);
    }
}
4

1 に答える 1

2

次のコーディングを使用して設定することで、明るさを自動に戻すことができます。

layoutParams.screenBrightness=-1;
getWindow().setAttributes(layoutParams);

完全なコーディングは次のとおりです。

public class MainActivity extends Activity {

WindowManager.LayoutParams layoutParams;
@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    try {
        adjustBright();
    } catch (SettingNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    Button btn=(Button)findViewById(R.id.button1);

    btn.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            // TODO Auto-generated method stub
            layoutParams.screenBrightness=-1;
            getWindow().setAttributes(layoutParams);
        }
    });



}

private void adjustBright() throws SettingNotFoundException {
    // TODO Auto-generated method stub
    int brightnessMode = Settings.System.getInt(getContentResolver(),
            Settings.System.SCREEN_BRIGHTNESS_MODE);
    if (brightnessMode == Settings.System.SCREEN_BRIGHTNESS_MODE_AUTOMATIC) {
        Settings.System.putInt(getContentResolver(),
                Settings.System.SCREEN_BRIGHTNESS_MODE,
                Settings.System.SCREEN_BRIGHTNESS_MODE_MANUAL);
    }

    layoutParams = getWindow().getAttributes();
    layoutParams.screenBrightness = 0.1F;
    getWindow().setAttributes(layoutParams);
}
}
于 2012-10-17T15:56:37.977 に答える