我相信原因是因为应用程序不被视为暂停。在正常的目标 c 编程中,这意味着当用户双击主页按钮时调用applicationWillResignActive 。因此,您要做的是为此部分添加该代码。
以下是一系列事件:
http: //www.cocoanetics.com/2010/07/understanding-ios-4-backgrounding-and-delegate-messaging/
电晕似乎有这些事件:
“applicationStart”发生在应用程序启动并执行 main.lua 中的所有代码时。
“applicationExit”在用户退出应用程序时发生。
“applicationSuspend”发生在设备需要暂停应用程序时,例如在通话期间或手机从不活动状态进入睡眠状态。在模拟器中,这对应于在后台运行的模拟器。在挂起期间,挂起时不会向应用程序发送任何事件(甚至 enterFrame 事件),因此如果您的代码依赖于时间,您应该考虑到挂起应用程序所损失的时间。
- 当应用程序在暂停后恢复时发生“applicationResume”。在电话上,如果应用程序因电话呼叫而暂停,则会发生这种情况。在模拟器上,当模拟器在后台并且现在是前台应用程序时会发生这种情况。
所以我的猜测是你必须在电晕 API 之外实现它。
根据电晕文件,您可以在代表中实现它们:
您可以通过 CoronaDelegate 协议的实现来拦截 UIApplicationDelegate 事件。
该协议符合 UIApplicationDelegate 协议。如果实现了 Corona 的内部委托,它将调用您协议的方法。
请记住以下几点:
Apple 已弃用的方法将被忽略。在大多数情况下,您的类的版本将在 Corona 的 UIApplicationDelegate 方法的相应版本之后被调用。在一种情况下,您的版本会在之前被调用。在应用程序即将暂停或进入后台的情况下,您的方法将在 Corona 版本之前调用,例如 applicationWillResignActive: 和 applicationDidEnterBackground:。
http://docs.coronalabs.com/native/enterprise/ios/CoronaDelegate.html
但这只是一个猜测。希望能帮助到你!
编辑:
我在想,你可以做的非常简单的事情是在外面捕捉它并呈现一个“暂停”屏幕,然后在应用程序进入前台时隐藏它。