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意味着您永远不会允许屏幕关闭,即使特定设备允许您将屏幕亮度设置为全关,您的设备也将进入低功耗模式.
总结以上是内存溢出为你收集整理的Android设置屏幕亮度为0关闭屏幕 – 如何避免全部内容,希望文章能够帮你解决Android设置屏幕亮度为0关闭屏幕 – 如何避免所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)