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运行)。接近传感器代码运行正常。
答案 0 :(得分:0)
您是否尝试更改Screen off timeout
值?
Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 1000);
值1000表示1000毫秒或1秒,如果需要,可以更改它。 然后将其改回标准,如此
Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT,-1);
这需要清单文件中的权限:
<uses-permission android:name="android.permission.WRITE_SETTINGS"/>