StackOverflow 上已经有一些与打开/关闭屏幕相关的问题,但是没有一个解决方案对我有用。
我不想使用唤醒锁,因为它不再被推荐。我的应用程序使用 唤醒屏幕
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON
,这要简单得多,并且不会导致如果您忘记释放它会耗尽整个电池的情况。像下面的代码一样将亮度设置为 0 也不起作用。在我的两部测试手机(三星 Galaxy S2 和 S3)上,此代码只会使屏幕变暗,但不会将其关闭。
layoutParam.screenBrightness = 0; layoutParam.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; getWindow().setAttributes(layoutParam);
我的场景 - 这是一个 VoIP 应用程序,它打开屏幕以接收来电,但如果用户将手机举到脸上,则需要关闭屏幕(但保持 CPU 运行)。接近传感器代码运行良好。