3

画面の明るさを設定しようとしていますが、 this.getWindow() で現在のウィンドウを取得しようとすると null になります。どうしてこれなの?すべてのコードを setBrightness() メソッドに投稿します。

System.putInt(getContentResolver(), System.SCREEN_BRIGHTNESS,
            brightness);
Window window = getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness / (float) 255;
window.setAttributes(lp);
4

3 に答える 3

0

System.putInt() を使用しないでください... すでに lp で screenBrightness を設定しています!

次のコードが機能します。

Window window = getWindow();
float brightness = 100.0f;
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = brightness/255.0f;
window.setAttributes(lp);
于 2011-09-26T09:29:24.593 に答える
0

フラグメントから呼び出す場合は、このように getWindow() の前に getActivity() を追加します

getActivity().getWindow().setAttributes(layoutParams);

また、シークバーを使用してブログレスを0にしないと、画面が完全に暗くなる可能性があります(Android 2.3の場合)

于 2014-05-14T11:58:27.490 に答える