如何在禁用ios时重新启用空闲计时器(允许显示再次进入睡眠状态)?

lin*_*fox 8 uiapplication ios

我已经想出了如何阻止iOS设备进入睡眠状态(见下文),但是我在修复设置方面遇到了麻烦.根据Apple文档,它应该只是改变idleTimerDisabled财产的价值.但是当我测试它时,它不起作用.

这就是我最初阻止设备进入睡眠的方式:

    //need to switch off and on for it to work initially
    [UIApplication sharedApplication].idleTimerDisabled = NO;
    [UIApplication sharedApplication].idleTimerDisabled = YES;
Run Code Online (Sandbox Code Playgroud)

我原以为会有以下几种方法:

    [UIApplication sharedApplication].idleTimerDisabled = NO;
Run Code Online (Sandbox Code Playgroud)

来自Apple文档:


此属性的默认值为NO.当大多数应用程序在短时间内没有作为用户输入的触摸时,系统将设备置于屏幕变暗的"睡眠"状态.这样做是为了节省电力.但是,没有用户输入的应用程序除了加速计 - 游戏,例如-can,通过将此属性设置为YES,禁用"空闲计时器"以避免系统睡眠.


重要提示:您应该仅在必要时设置此属性,并且当需要不再存在时,应确保将其重置为NO.大多数应用程序应在闲置计时器结束时让系统关闭屏幕.这包括音频应用程序.通过适当使用音频会话服务,当屏幕关闭时,播放和录制不会中断.应该禁用空闲计时器的唯一应用程序是通过零星的用户交互来映射应用程序,游戏或类似程序.


有人遇到过这个问题吗?我在iOS6和iOS5上测试.提前致谢.

小智 27

你是从Xcode运行时尝试这个吗?无论您是否设置,从Xcode运行始终禁用空闲计时器[UIApplication sharedApplication].idleTimerDisabled.您可以通过从iPhone/iPod touch/iPad手动打开应用程序来尝试.

  • 哈哈哈.你是对的!哇,真是浪费时间.谢谢!勾选箭头. (3认同)