0

我有一个棘手的问题。在我的应用程序中,用户可以更改是否希望应用程序在后台运行。如果是 - 它应该工作,直到用户杀死它。如果不是 - 它应该在用户按下主页按钮之前工作,并且应该在使用顶部按钮锁定屏幕后工作。

因此,plist 文件中有一行名为“应用程序不在后台运行”。如果我让它“是” - 应用程序运行直到按下主页按钮,并且在锁定屏幕后仍然工作。完美的。如果我将其设为“否”-应用程序一直在运行,直到我将其杀死。完美的。

但我猜你不能从应用程序更改 plist 值。好吧,我找到了一种使用 applicationDidEnterBackground 的方法:

if (userDontWantItRunInBackground) { exit(0); }

但这有一个问题(Apple不推荐除外):

if "application does not run in background" = YES:

applicationDidEnterBackground is NOT CALLED on locking the screen

if "application does not run in background" = NO:

applicationDidEnterBackground is CALLED on locking the screen

这没有道理!这不允许我让应用程序在锁定屏幕上运行!

4

1 回答 1

0

在 iOS 4 中,如果您的应用程序愿意,您无法避免空闲时间睡眠。

   [[UIApplication sharedApplication] setIdleTimerDisabled:YES];

以下是有关 iOS 后台执行的更多信息:

在此处输入图像描述

更多的:

于 2013-03-23T16:46:02.053 回答