2012-11-22 153 views
0

我有一个应用程序的UIApplicationExitsOnSuspend信息列表属性设置为TRUE。 现在我注意到一个奇怪的问题。 我启动应用程序,让它在我的手机上运行,​​不要碰我的手机。最终手机屏幕变暗,手机进入待机模式。当我唤醒手机时,我看到的是应用程序上显示的最后一个屏幕的屏幕截图。 (根据规范,这似乎是因为苹果文档说,在将应用程序移动到背景的过程中,ios会拍摄应用程序的照片,并在应用程序重新启动时将其用于转换。如果我双击主页按钮查看正在运行的应用程序,我没有看到该应用程序正在运行的实例。 (同样,因为UIApplicationExitsOnSuspend设置为true,所以按预期工作)。UIApplicationExitsOnSuspend和屏幕刷新

我的问题是,我如何确保当手机醒来时,它会回到默认的主屏幕而不是应用程序的图片?很明显,该应用没有在唤醒时运行,所以我无法从应用内部进行刷新屏幕。我可以尝试退出时,应用程序将背景,但然后苹果准则说,永远不会退出编程!

任何想法?

回答

3

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

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

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

+0

非常感谢您清理那个。 –