【问题标题】:Screen on/off toggle through code in Android通过 Android 中的代码切换屏幕开/关
【发布时间】:2013-08-25 20:14:39
【问题描述】:

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 运行)。接近传感器代码运行良好。

【问题讨论】:

    标签: android screen proximity wakelock


    【解决方案1】:

    您是否尝试过更改 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"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多