2

当正确的命令出现时,我关闭屏幕。

关闭屏幕:

    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"/>

但这无论如何都行不通。

所以我希望有人可以帮助我并为我解决这个问题。

4

1 回答 1

2

好的,我解决了我的问题。

我只是在 TURN OFF SCREEN params.screenBrightness=0.01f; 中设置了 screenBrightness 然后一切正常。

如果它应该关闭,屏幕是黑色的,如果它应该再次打开,它会获得正确的亮度。

于 2013-08-29T06:24:10.647 回答