当用户按下“主屏幕”键时,使用Corona SDK重新启动应用程序。

使用 Corona SDK,我想在用户按下主屏幕按钮时,每次都能干净地重新启动我的应用程序。如果用户接到电话、拉下下拉菜单等,我希望应用程序能够继续保持当前状态。

有什么建议吗?

谢谢, /S

点赞
用户2186639
用户2186639
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 )

这个版本适用于安卓系统。 我从http://docs.coronalabs.com/api/event/key/keyName.html进行了验证,因此在iPhone上无法这样做。

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

2013-04-04 17:14:04
用户2040431
用户2040431
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)

我是如何解决这个问题的!

2013-04-04 18:19:38