屏幕开/关切换Android中的代码

时间:2013-08-25 20:14:40

标签: android screen proximity wakelock

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);
    
  3. 我的场景 - 这是一个VoIP应用程序,可以打开来电屏幕,但是如果用户将手机放在脸上,则需要关闭屏幕(但保持CPU运行)。接近传感器代码运行正常。

1 个答案:

答案 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"/>