我已经想出了如何阻止 iOS 设备进入睡眠状态(见下文),但我在撤消该设置时遇到了麻烦。根据Apple Documentation,它应该只是更改idleTimerDisabled
属性的值。但是当我对此进行测试时,它不起作用。
这就是我最初阻止设备进入睡眠状态的方式:
//need to switch off and on for it to work initially
[UIApplication sharedApplication].idleTimerDisabled = NO;
[UIApplication sharedApplication].idleTimerDisabled = YES;
我原以为以下方法可以解决问题:
[UIApplication sharedApplication].idleTimerDisabled = NO;
从苹果文档:
此属性的默认值为 NO。当大多数应用程序在短时间内没有用户输入触摸时,系统会将设备置于屏幕变暗的“睡眠”状态。这样做是为了节省电量。但是,没有用户输入的应用程序除了加速度计——例如游戏——可以通过将此属性设置为 YES 来禁用“空闲计时器”来避免系统睡眠。
重要提示:您应该仅在必要时设置此属性,并且应确保在不再需要时将其重置为 NO 。大多数应用程序应该让系统在空闲计时器结束时关闭屏幕。这包括音频应用程序。通过适当使用音频会话服务,当屏幕关闭时,播放和录制不会中断。唯一应该禁用空闲计时器的应用程序是映射应用程序、游戏或具有零星用户交互的类似程序。