设置安卓屏幕亮度

4

我正在尝试在安卓设备上将屏幕亮度完全调暗。第一次可以完美地实现,但之后虽然亮度为0,但仍能看到屏幕。如何让安卓屏幕变得完全黑暗?

这是我的代码:

WindowManager.LayoutParams params = 

    getWindow().getAttributes();
    params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
    params.screenBrightness = 0.0f;
    getWindow().setAttributes(params);

提供的任何答案是否有帮助解决您的问题? - trumpetlicks
2个回答

4
所有屏幕都有一个最小亮度,即使不完全关闭也是如此。这个设置为0.0f。这是一个硬件限制,每部手机都不同;没有办法使用硬件将屏幕完全变暗。(正如@trumpetlicks的回答所指出的那样,您可以去掉背光。) 如果您只想控制一个应用程序的亮度,您可以使用AbsoluteLayout来包含您的应用程序,并放置一个View,它的宽度和高度均为100%,覆盖在其他所有内容上,并将其背景设置为rgba(0, 0, 0, <your alpha value>)。我认为这是最接近调暗的方法。

1
+1 赞同这个伟大的答案,它与此答案非常相符。以下是一个不错的相关技巧:https://dev59.com/OWYq5IYBdhLWcg3wtCoo#14280273。 - ripopenid

1
如果我正确理解您的问题,您已经有了。您看到的是几乎所有液晶屏幕的产物。它们具有背光。由于您使用了params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;,因此屏幕(以及其背光)肯定会保持开启状态,实际输出的像素值将为黑色。这是液晶显示器的不幸特性之一,即它们的黑色只有那么黑!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接