【问题标题】:programmatically setting screen timeout with Settings.System.putInt()使用 Settings.System.putInt() 以编程方式设置屏幕超时
【发布时间】:2014-08-18 14:31:05
【问题描述】:

我知道有多个类似的问题。


要求是在“从不”和原始设置之间切换屏幕超时。 当我执行Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, -1); 时,模拟器(4.0 Ice Cream Sandwich)和三星 Galaxy SII(4.1.2 Jelly Bean)上的屏幕不会变暗,但是当有人安装在 4.4 KitKat 上时,屏幕会立即变暗。

操作系统有什么变化吗?有没有办法在 KitKat 上设置它永远不会超时?

由于我无法将其设置为永不超时,因此我将其设置为 120 分钟。 当我尝试将其设置为特定时间(例如 60 分钟、120 分钟等)时,它被设置为 30 分钟。其他值似乎也向上/向下取整。 是否无法将其设置为 Android 设置应用程序中未列出的数字? (15 秒、30 秒、1 分钟、2 分钟、5 分钟、10 分钟、30 分钟)

我希望有人能启发我。提前致谢。

【问题讨论】:

  • 你为什么需要这个开始?还有其他方法可以确保屏幕不会关闭,例如唤醒锁。您应该使用这些而不是更改设置。
  • 感谢@GabeSechan 的评论。我不想让应用程序在两者之间运行,我认为唤醒锁需要应用程序运行。我想我可以改变整个事情..

标签: android


【解决方案1】:

操作系统有什么变化吗?

是的,Kitkat 的 AOSP 做了一些事情。
当它得到 -1 时,它会将 -1 修改为 15 秒。

【讨论】:

  • 感谢您的回答。但是..它立即变暗了,所以它似乎将它设置为 0 秒而不是 15 秒?
【解决方案2】:

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, -1); 仅适用于 api 级别 19 及以下。

没有找到任何东西,但解决方法可能是您可以将其设置为 30 天的时间(即无限时间)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    • 2012-04-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多