Corona SDK:仅在用户按“主页”时重新启动应用程序

时间:2013-04-04 17:01:29

标签: lua corona onpause

使用corona SDK,我希望每次用户点击homebutton时都能重新启动我的应用程序。 如果他/她接到电话,拉下下拉菜单,依此类推,我希望该应用程序继续处于其当前状态。

有什么建议吗?

谢谢, / S

2 个答案:

答案 0 :(得分:4)

我是怎么解决的!

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)

答案 1 :(得分:1)

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中无法做到这一点。

但您可以尝试这样做:获取应用程序暂停的时间。并将其保存到documentes目录。然后,当应用程序恢复时,检查两个会话之间的时间。如果超过半小时,请重新启动所有内容。