虽然这只是一个小更改,但尝试在末尾添加一个“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)
另外,您可以尝试使用PowerManager Wakelock打开手机:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP, AudioControlExtender.this.getClass().getName());
wl.acquire();
如果那样不起作用,那么就像你现在这样打开屏幕,然后执行以下操作:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, AudioControlExtender.this.getClass().getName());
wl.acquire();