使用corona SDK,我希望每次用户点击homebutton时都会重启我的应用程序。 如果他/她收到电话呼叫,拉下下拉菜单等,我希望应用程序继续其当前状态。Corona SDK:只有当用户按下“home”时才能重新启动应用程序
有什么建议吗?
谢谢, /S
使用corona SDK,我希望每次用户点击homebutton时都会重启我的应用程序。 如果他/她收到电话呼叫,拉下下拉菜单等,我希望应用程序继续其当前状态。Corona SDK:只有当用户按下“home”时才能重新启动应用程序
有什么建议吗?
谢谢, /S
我是怎么解决的!
suspendTime = 0
resumeTime = 0
function onSystemEvent(event)
if event.type == "applicationSuspend" then
suspendTime = os.time()
print(suspendTime)
elseif event.type == "applicationResume" then
resumeTime = os.time()
print(resumeTime)
print("deltaTime: "..resumeTime - suspendTime)
if(resumeTime - suspendTime > 30) then
local sceneName = storyboard.getCurrentSceneName()
if(sceneName ~= "levels.splash") then
print(sceneName)
print(resumeTime)
storyboard.gotoScene("levels.splash")
end
end
end
end
Runtime:addEventListener("system", onSystemEvent)
不要忘记suspendTime = 0和resumeTime = 0,找到delta后)顺便说一句,os.time()返回小时吗?当您在23:59暂停应用并在00:01再次打开时,它会做什么? – 2013-04-04 19:23:47
我相信os:time是unix的时间戳。 http://en.wikipedia.org/wiki/Unix_time – Eyeball 2013-04-05 07:10:23
所以,我想它不会重演分钟。无论如何,你可以通过尝试或制造这种价值来确定。如果它可以很好地工作,不需要做任何事情.. – 2013-04-05 07:57:32
function onKeyEvent(event)
local keyname = event.keyName;
if (event.phase == "up" and (event.keyName=="back" or event.keyName=="menu" or event.keyName == "home")) then
if keyname == "menu" then
os.exit()
end
end
return false
end
Runtime:addEventListener("key", onKeyEvent)
这人会为Android工作。 我检查了http://docs.coronalabs.com/api/event/key/keyName.html,所以在iPhone上没有办法做到这一点。
但你可以试试这个:获取应用程序暂停的时间。并将其保存到文件目录。然后,当应用程序恢复时,检查两次会话之间的时间。如果超过半小时,重新开始所有的事情。
我想你的意思是iPhone? – 2013-04-04 17:04:04
这两个android(那些homebutton ..)和iPhone。谢谢 – Eyeball 2013-04-04 17:05:20