停止设备进入睡眠模式一段时间

时间:2012-07-12 11:14:08

标签: ios ipad uiapplicationdelegate

在我的应用程序中,我有一些内容要从服务器下载,当用户开始下载并且应用程序处于活动状态时,应用程序将进入后台状态,下载停止并失败。避免这种情况我尝试使用“ beginBackgroundTaskWithExpirationHandler ”在后台实现下载延续。这仅在一段时间内有效,如果设备处于后台状态/睡眠模式较长时间,则下载为失败了。

为了避免下载失败,我想在应用程序下载内容时避免设备进入睡眠模式并实现相同的目的。

我在下载开始后立即将setIdleTimerDisabled设置为YES,并在下载完成或下载失败后将属性恢复为NO。

[[UIApplication sharedApplication] setIdleTimerDisabled:Yes];

应用程序在下载开始后进入睡眠模式时受到限制,但在完成下载后,应用程序仍然无法进入睡眠模式。

启动下载后,应用程序永远不会进入睡眠模式。

有人可以帮我限制设备仅在下载过程中进入休眠状态。

TNQ

1 个答案:

答案 0 :(得分:1)

我在重置屏幕亮度方面遇到了类似的问题。根据我的研究,我发现在按下主页按钮后OS接管控制并且不允许你重置亮度,定时器等。

您可以通过其他方式解决此问题。在下载完成后提供本地通知,并在applicationWillEnterForeground中编写代码以启用计时器

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

我从StackOverflow得到了这个,但我忘记了链接。遗憾。