WindowManager.LayoutParams.screenBrightnessは、0と1の間の浮動小数点数を取ります。
ただし、(少なくともジンジャーブレッドを搭載したNexus Sでは)この値を低く設定しすぎると、画面が完全にオフになるようです。
画面をオフにせずに設定できる最小値を知る方法はありますか?また、この数はデバイス間で一定ですか?そうでない場合、実行時にどのように取得できますか?
次にいくつかのサンプルコードを示します。
Window window = activity.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.screenBrightness = 0.01f; // float between 0 and 1
window.setAttributes(lp);
(これはアプリ内の明るさスライダー用なので、使用する最小値を知る必要があります)
ありがとう