1

我有一个测验应用程序,其中每个问题的持续时间为 20 秒。它工作正常,但如果用户在播放时接到电话,我想暂停应用程序并将其设置在后台。有谁有想法吗?

4

3 回答 3

2

这取决于您的应用程序的实现,但从广义上讲,您的应用程序应该在 applicationWillResignActive: 方法中停止任何正在运行的计时器、暂停游戏、暂停任何声音播放等。

调用完成后,将再次调用您的应用程序并调用该applicationDidBecomeActive:方法。您应该从该方法恢复计时器、声音播放等。如果是游戏,则不应自动恢复;让它暂停并等待用户手动恢复它以符合 Apple 的 UX 指南。

于 2013-03-30T11:23:07.917 回答
1

当有来电时,您的应用程序将暂停。

你会知道这正在发生,因为你的“ UIApplicationDelegate”会收到“”的消息applicationWillResignActive:。当它回来时,您可以从上次中断的地方开始,或者您可以提出一个新问题或任何您想做的事情,这取决于您决定如何实施您的测验应用程序。

于 2013-03-30T11:22:55.190 回答
0

当用户在 iphone 应用程序中接到电话时,应用程序自动进入 applicationDidEnterBackground 状态。例如,如果您正在使用无线电应用程序,那么当用户在呼叫结束应用程序进入以下方法(appDelegate.m)后接到任何电话时,无线电会自动关闭

  • (void)applicationWillResignActive:(UIApplication *)application { // 当应用程序即将从活动状态变为非活动状态时发送。这可能发生在某些类型的临时中断(例如来电或短信)或当用户退出应用程序并开始转换到后台状态时。// 使用此方法暂停正在进行的任务、禁用计时器并降低 OpenGL ES 帧速率。游戏应使用此方法暂停游戏。}
于 2013-03-30T12:01:13.203 回答