我有一个棘手的问题。在我的应用中,用户可以更改是否希望应用在后台运行。如果是 - 它应该工作,直到用户杀死它。如果没有 - 它应该工作,直到用户按下主页按钮,并且应该在用顶部按钮锁定屏幕后工作。
因此,plist文件中有一行称为“应用程序不在后台运行”。如果我把它设为“是” - 应用程序运行直到按下主页按钮,并且在锁定屏幕后仍然工作。完善。如果我让它“不” - 应用程序一直运行,直到我杀了它。完美。
但我猜你不能改变app中的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
没用!这不允许我在锁定的屏幕上运行应用程序!
答案 0 :(得分:0)
在iOS 4中,如果您的应用愿意,您无法避免闲置时间睡眠。
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
以下是有关iOS中背景执行的更多信息: