使用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