Android的Cordova-2.7.0我有以下JS腳本。Phonegap(科爾多瓦) - 後退按鈕觸發暫停事件,而不是Android中的後退事件
在測試後退按鈕功能時,我遇到了一個奇怪的行爲。
在應用程序的第一個跑,當我按下後退按鈕「後退按鈕」事件被觸發並「onBackButton」函數被調用。
當我退出該應用程序並再次運行該應用程序,「onPauseButton」函數被調用按後退按鈕之後,而不是「onBackButton」功能。
經過詳細的研究,我意識到'navigator.app.exitApp();'(這是cordova函數)不會完全破壞Android應用程序。
如果我刪除從最近使用的應用列表中的應用程序並再次運行它,「後退按鈕」事件被觸發,當我按下後退按鈕「onBackButton」函數被調用。
因此,我想在應用程序的每次運行中捕獲'backbutton'事件。
你建議我做什麼?
感謝,V.H.
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
document.addEventListener('backbutton', this.onBackButton, true);
document.addEventListener('pause', this.onPauseButton, true);
},
onDeviceReady: function() {
console.log("onDeviceReady called");
},
onPauseButton: function() {
console.log("onPauseButton called");
},
onBackButton: function() {
console.log("onBackButton called");
console.log("current view: "+GUIManager.currentView);
if(GUIManager.VIEW_LOCALE == GUIManager.currentView){
GUIManager.showMatchListScreen();
} else if(GUIManager.VIEW_MATCHLIST == GUIManager.currentView){
navigator.app.exitApp();
}
}
這能幫助非常多。但有趣的是,設備不需要準備好進行'document.addEventListener'調用。它只將給定的監聽器註冊到文檔對象內的給定事件類型。 – vaha 2013-05-14 08:30:50