1

StackOverflow 上已经有一些与打开/关闭屏幕相关的问题,但是没有一个解决方案对我有用。

  1. 我不想使用唤醒锁,因为它不再被推荐。我的应用程序使用 唤醒屏幕WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON,这要简单得多,并且不会导致如果您忘记释放它会耗尽整个电池的情况。

  2. 像下面的代码一样将亮度设置为 0 也不起作用。在我的两部测试手机(三星 Galaxy S2 和 S3)上,此代码只会使屏幕变暗,但不会将其关闭。

    layoutParam.screenBrightness = 0;
    layoutParam.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON;
    getWindow().setAttributes(layoutParam);
    

我的场景 - 这是一个 VoIP 应用程序,它打开屏幕以接收来电,但如果用户将手机举到脸上,则需要关闭屏幕(但保持 CPU 运行)。接近传感器代码运行良好。

4

1 回答 1

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"/>
于 2013-08-25T20:31:58.187 回答