当正确的命令出现时,我关闭屏幕。
关闭屏幕:
WindowManager.LayoutParams params = getWindow().getAttributes();
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0.0f;
getWindow().setAttributes(params);
这工作正常。至少看起来是这样。
但是当命令来打开屏幕时,它不起作用。这是开启的代码:
打开屏幕:
WindowManager.LayoutParams on = getWindow().getAttributes();
on.screenBrightness = 0.7f;
getWindow().setAttributes(on);
亮度起不来。我不知道为什么。
但是当我将 TURN OFF SCREEN 的 screenBrightness 更改为 params.screenBrightness = 0.1f; 那么屏幕的亮度不是很黑,而是很低。如果它是 0.1f,我可以调用 BrightnessUp 函数,屏幕的亮度会正常。
总而言之,如果它之前是 0.0f,我不能将亮度设置得更高,只有当它是 0.1f 或更高时。
我也试过这个解决方案来转动屏幕:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
screenWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "screenWakeLock");
screenWakeLock.acquire();
显现:
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DEVICE_POWER"/>
但这无论如何都行不通。
所以我希望有人可以帮助我并为我解决这个问题。