3

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

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

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

[[UIApplication sharedApplication] setIdleTimerDisabled:Yes];

应用程序在下载开始后被限制进入睡眠模式,但在完成下载后,应用程序仍然没有进入睡眠模式。

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

有人可以帮助我限制设备仅在下载期间进入睡眠状态。

TNQ

4

1 回答 1

1

我在重置屏幕亮度时遇到了类似的问题。根据我的研究,我发现在按下主页按钮后,操作系统会接管控制权,并且不允许您重置亮度、定时器等。

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

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

我从 StackOverflow 得到这个,但我忘记了链接。对不起。

于 2012-07-12T12:34:24.000 回答