![](/img/trans.png)
[英]How to implement an alarm on Android that turns off via an action on another screen?
[英]Android setting screen brightness to 0 turns off the screen - how to avoid
在Android 2.3.3中,我尝试使用以下代码将屏幕亮度设置为0:
Window myWindow = getWindow();
WindowManager.LayoutParams winParams = myWindow.getAttributes();
winParams.screenBrightness = 0.0f;
myWindow.setAttributes(winParams);
并安排Handler.postDelayed()在1秒钟内启动Runnable以将亮度设置回完整,如下所示:
Window myWindow = getWindow();
WindowManager.LayoutParams winParams = myWindow.getAttributes();
winParams.screenBrightness = 1.0f;
myWindow.setAttributes(winParams);
但是,屏幕似乎已完全关闭,并且在此1秒钟后没有任何反应。 对Runnable进行一些跟踪可以清楚地表明它是由Handler启动的。
我也尝试将这两个调用包含在PARTIAL_WAKE_LOCK中,但没有结果。 无论如何,Runnable都能正常工作,因此此处无需太多使用唤醒锁。
另外,如果将亮度设置为0.01f(而不是0f),则可以正常工作-1秒钟后,亮度将恢复为满。
有人可以建议将其设置为0后如何使亮度再次变满吗?
使用此代码
params.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
params.screenBrightness = 0;
getWindow().setAttributes(params);
不会关闭屏幕,而是使屏幕尽可能暗。 使用FLAG_KEEP_SCREEN_ON
意味着你将永远不会让屏幕熄灭,设备将进入低功耗模式,即使特定的设备,让您的屏幕亮度设置为全关 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.