2016-12-26 496 views
1

播放音频时我希望屏幕始终点亮,完成音频时屏幕变暗,两分钟后我不点击屏幕(我设置了自动锁定设置),请执行以下代码。将UIApplication.shared.isIdleTimerDisabled设置为false时,屏幕变为黑暗

override func viewDidAppear(_ animated: Bool) { 
     super.viewDidAppear(animated) 
     UIApplication.shared.isIdleTimerDisabled = true 
    } 

    override func viewDidDisappear(_ animated: Bool) { 
     super.viewDidDisappear(animated) 
     UIApplication.shared.isIdleTimerDisabled = false 
    } 

但是结果是当完成一个音频超过两分钟时,屏幕立即变黑。

如何解决它,或者是这个IOS错误?

感谢

回答

1

好像没有您的设备isIdleTimerDisabled - 属性集后立即熄灭任何机会,从而重置空闲计时器。

然而,你仍然可以尝试实现你自己的计时器在适当的时间关闭它。

override func viewDidDisappear(_ animated: Bool) { 
    super.viewDidDisappear(animated) 
    DispatchQueue.main.asyncAfter(deadline: .now() + interval, execute: { 
     UIApplication.shared.isIdleTimerDisabled = false 
    }) 
} 

不幸的是,仍然没有任何办法来检查当前idleTimer时间来动态计算interval值。