为了在OS4.1上的3GS和iPhone4上连续运行应用程序 是否足以在DidEnterBackground回调中调用BeginBackgroundTask然后 不要调用EndBackgroundTask即让它继续运行。我明白这会运行电池 但是没关系,因为我的用户将会依靠电源运行。
如果这不是这样做的话,有人可以说如何让应用程序保持运行(不会暂停)
由于
答案 0 :(得分:6)
您无法让应用在后台运行。
您可以声明系统将在后台运行的一些任务。
根据Apple文档:
支持某些类型的 必须声明后台执行 提前申请 使用它们。应用程序执行此操作 包括UIBackgroundModes键 它的Info.plist文件。这把钥匙 确定你的后台任务 应用支持。它的价值是 包含一个或多个的数组 具有以下值的字符串:
audio - 应用程序可播放 在内容中向用户提供内容 背景。 location - 应用程序 让用户了解他们的信息 位置,即使在运行中 背景。 voip - 应用程序 为用户提供了能力 使用互联网拨打电话 连接。前面的每一个 值让系统知道你的 申请应该被唤醒 适当的时候回应 相关事件。例如,一个 开始播放音乐的应用程序 然后仍然移动到后台 需要执行时间来填充音频 输出缓冲区。包括音频 key告诉系统框架 他们应该继续玩和制作 必要的回调 以适当的间隔申请。 如果申请不包括在内 这个键,播放的任何音频 当应用程序停止时 应用程序移到后台。
除了上述键,iOS 提供了另外两种工作方式 背景:
应用程序可以询问系统 额外的时间来完成给定的任务。 应用可以安排本地 要通知的通知 预定时间。更多 有关如何发起的信息 您的代码中的后台任务,请参阅 “启动后台任务。”