小さな変更ですが、次のように最後に「F」を付けてみてください。
params.screenBrightness = 0F;
getWindow().setAttributes(params);
それでも問題が解決しない場合は、画面をデフォルト設定に戻すことで画面を更新できる可能性があります。少し調べてみたところ、画面の更新に役立つ可能性のある次のコードが見つかりました。
this.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN, WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
また、powermanagerwakelockを使用して電話をオンにしてみることができます。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
// Wakes the screen on.
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP, AudioControlExtender.this.getClass().getName());
wl.acquire();
それでも問題が解決しない場合は、現在の方法で画面をオンにしてから、次の手順を実行します。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
// Sets the screen on maximum brightness.
// This might fix the problem you are having with the screen brightness since
// the screen settings are changed.
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, AudioControlExtender.this.getClass().getName());
wl.acquire();