【问题标题】:How do I prevent the iPhone screen from dimming or turning off while my application is running?如何在我的应用程序运行时防止 iPhone 屏幕变暗或关闭?
【发布时间】:2010-09-12 15:24:25
【问题描述】:

我正在开发一个不需要用户输入的应用程序,但我不希望 iPhone 进入省电模式。

是否可以通过应用禁用省电功能?

【问题讨论】:

  • 最近所有问题的反对票是怎么回事?这对我来说似乎是一个有效的问题。

标签: ios uiapplication


【解决方案1】:

Objective-C

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

斯威夫特

UIApplication.shared.isIdleTimerDisabled = true

【讨论】:

  • 这行代码用在什么地方重要吗?应该在 AppDelegate 还是 App 的主视图控制器中?
  • 这取决于您打算如何使用它。您可能只有一个不想在应用程序中超时的视图。在这种情况下,您将在该视图控制器中使用它(当视图出现时)。要重新启用计时器,您可以在视图消失时使用[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
  • 当应用失去焦点时,应用是否需要重新启用计时器,还是由操作系统自动处理?
  • Stan - 当应用退出活动时,操作系统将重新启用空闲模式,您不必必须致电[[UIApplication sharedApplication] setIdleTimerDisabled:NO];
  • 恕我直言,这与您称呼它的地方没有区别。它始终是整个应用程序的命中,并且每个视图都保留在屏幕上,而不是变暗。
【解决方案2】:

swift 中,您可以将其用作

UIApplication.sharedApplication().idleTimerDisabled = true

【讨论】:

    【解决方案3】:

    斯威夫特 3:

    UIApplication.shared.isIdleTimerDisabled = true
    

    【讨论】:

    • 这对于 Swift 4 也是一样的
    【解决方案4】:

    我已将这行代码放在我的视图控制器中,但我们仍然让客户说屏幕会变暗或关闭,直到有人触摸屏幕。我看过其他帖子,您不仅以编程方式设置

    UIApplication.sharedApplication().idleTimerDisabled = true 
    

    为真,但您必须先将其重置为假

    UIApplication.sharedApplication().idleTimerDisabled = false
    UIApplication.sharedApplication().idleTimerDisabled = true
    

    遗憾的是,这仍然不起作用,客户的屏幕仍然变暗。我们有 Apple Configurator 配置文件,可防止设备进入睡眠状态,但仍有一些设备屏幕变暗,客户需要按下主页按钮才能唤醒屏幕。我现在将这段代码放入一个每 2.5 小时触发一次的计时器中以重置空闲计时器,希望这会起作用。

    【讨论】:

    • 遗憾的是,将代码放入触发计时器的函数中并不能解决问题。我将 iPad 开着超过 24 小时,它并没有变暗,也没有互动。根据我们的一位客户的说法,一位用户在 15 分钟前使用了该设备,然后设备变暗了。
    • 我遇到了同样的问题:我有一个视图控制器,我在其中设置了 idelTimerDisabled = true (应用程序应该在整个晚上保持打开状态,一个闹钟),并且大部分时间它有效,但有时该应用程序在夜间的某个时间处于后台。任何人都知道什么可以将应用程序移至后台?还是重置标志?
    • 是的,你可以重置标志,我也是这样做的。我也有这个功能。原来这是我们的 MDM 服务器上的一个“恶意进程”,它向我们的设备发送 ping 以使屏幕变暗。很烦人。
    【解决方案5】:

    我们遇到了同样的问题。原来是我们的 MDM 服务器上的一个流氓进程,该进程已在我们的帐户中删除,但服务器上仍在发送使我们的设备变暗的命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-01
      • 2011-02-25
      相关资源
      最近更新 更多