Swift,防止设备锁定,但允许关闭液晶显示屏(昏暗的屏幕)

时间:2016-02-22 11:17:06

标签: swift ios8

我正在使用swift 2构建应用程序,目标是最小的iOS 8。

我需要一直展示我的应用程序而不会被设备锁定中断。

我知道并且目前正在使用UIApplication.sharedApplication().idleTimerDisabled = true来禁用设备锁定。

问题是,是否可以(以及如何?)防止设备锁定,但允许屏幕变暗(关灯)?

目标是通过关闭液晶显示屏(不关闭或锁定设备)来节省更多电量。

谢谢。

2 个答案:

答案 0 :(得分:6)

您无法阻止变暗,但您可以在应用操作期间设置亮度。您仍将禁用空闲计时器,但手动修改亮度。

UIApplication.sharedApplication().idleTimerDisabled = true
UIScreen.mainScreen().brightness = CGFloat(0.1)

关于你的问题的几点说明:

  • 亮度值介于0.0到1.0之间
  • 如果应用程序确实进入后台(启用​​了空闲计时器),则亮度值将返回到用户设置
  • Settings a Display's Brightness

Swift 3

 UIApplication.shared.isIdleTimerDisabled = true

答案 1 :(得分:3)

对于我的情况,我们不希望设备自动锁定或变暗。我们有代码片段

UIApplication.sharedApplication().idleTimerDisabled = true

在不应自动锁定或变暗的视图控制器中,我们的设备仍在变暗但不是自动锁定。对我们来说,这很烦人,但是对你而言,它听起来就像是你想要的。虽然我发现其他帖子:

  1. iPhone - phone goes to sleep even if idleTimerDisabled is YES
  2. idleTimerDisabled not working since iPhone 3.0
  3. 它似乎是特定于设备的,如果有帮助,请告诉我。