【问题标题】:iOS - setIdleTimerDisabled:NO Not WorkingiOS - setIdleTimerDisabled:NO 不工作
【发布时间】:2013-01-24 20:38:35
【问题描述】:

我有一个使用摄像机的应用程序,因此屏幕不会变暗。禁止屏幕变暗可以正常工作,如下所示:

- (void)applicationDidBecomeActive:(UIApplication *)application
{
    [[UIApplication sharedApplication] setIdleTimerDisabled:YES];
}

但是,当应用程序关闭并进入后台时,将 IdleTimer 设置回 NO 不起作用。屏幕在主屏幕上永久显示。这就是我尝试实现的方式。

- (void)applicationWillResignActive:(UIApplication *)application
{
    [[UIApplication sharedApplication] setIdleTimerDisabled:NO];
}

有没有更好的地方添加这行代码?

【问题讨论】:

  • 这可能只是开发版本的一个错误。我有几个应用程序可以在它们处于活动状态时强制屏幕不变暗,但我从来没有一个能够保持主屏幕或其他应用程序打开的应用程序。应用程序设置几乎总是特定于应用程序,以保持系统纯净。
  • 你试过这个连接到你的 Mac 和 XCode 吗?我认为如果是这种情况,iDevice 并不总是想开始“睡眠”......
  • @Larme,是的,这是我的第一个想法,但我解开了它,它仍然没有变暗。
  • 你试过applicationWillEnterForeground:
  • 这听起来可能很愚蠢,但是您检查过设置中的睡眠间隔吗?这听起来更像是手机上的全局设置,而不是您的应用程序的问题

标签: iphone ios uiapplicationdelegate


【解决方案1】:

我也遇到了同样的问题。实际上它确实有效,但仅在您的设备未连接到 xCode 时才有效。尝试断开设备,然后测试此功能。

【讨论】:

  • 我花了一整天的时间试图找出问题所在,但这是因为 xcode。谢谢你救了我的命。
【解决方案2】:

你为什么不尝试在

中使用你的代码

applicationWillEnterForeground

委托方法。

希望这对你有用。

【讨论】:

    【解决方案3】:

    Swift 版本:

    public func applicationWillResignActive(application: UIApplication) {
        UIApplication.sharedApplication().idleTimerDisabled = false
    }
    
    
    public func applicationDidBecomeActive(application: UIApplication) {
        UIApplication.sharedApplication().idleTimerDisabled = true
    }
    

    【讨论】:

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