0

我有一个将 UIApplicationExitsOnSuspend 信息列表属性设置为 TRUE 的应用程序。现在我注意到一个奇怪的问题。我启动应用程序,让它在我的手机上运行,​​不要触摸我的手机。最终手机屏幕变暗,手机进入待机模式。当我唤醒手机时,我看到的是应用程序上显示的最后一个屏幕的屏幕截图。(这似乎符合规范,因为 Apple 文档说在将应用程序移至后台的过程中,ios 会拍摄应用程序的照片,并在应用程序恢复运行时将其用于过渡)。如果我双击主页按钮查看正在运行的应用程序,我看不到正在运行的应用程序实例。(同样,由于 UIApplicationExitsOnSuspend 设置为 true,因此按预期工作)。

我的问题是,我如何确保当手机唤醒时,它会回到默认主屏幕而不是应用程序的图片?显然,该应用程序在唤醒时并未运行,因此我无法在应用程序内执行任何操作来刷新屏幕。当应用程序进入后台时,我可以尝试退出,但是苹果指南说,永远不要以编程方式退出!

有任何想法吗 ?

4

1 回答 1

3

你误解了正在发生的事情。如果您启用UIApplicationExitsOnSuspend,这意味着您的应用程序将在应用程序正常进入后台时终止。如果您运行您的应用程序,然后让手机处于空闲状态,直到屏幕变暗,您的应用程序仍处于前台,因此它不会被终止。当设备进入待机模式时,当前应用仍然是当前应用。当您唤醒设备时,您不是在查看应用程序的快照,而是在查看正在运行的应用程序。此时双击主页按钮不会显示您的应用程序,因为您的应用程序是当前正在运行的应用程序。

如果您返回主屏幕或切换到另一个应用程序,您的应用程序将被终止。但它不会因为设备进入待机模式而终止。

如果您希望您的应用程序在设备被唤醒时返回其主屏幕,那么您需要在UIApplicationDelegate applicationDidBecomeActive:方法中放入代码来重置您的用户界面。

于 2012-11-22T17:25:03.077 回答