使用适用于 Android 的 Cordova-2.7.0 我有以下 JS 脚本。
在测试后退按钮功能时,我遇到了一个奇怪的行为。
在应用程序的第一次运行时,当我按下后退按钮时,会触发“backbutton”事件并调用“onBackButton”函数。
当我退出应用程序并再次运行应用程序时,按下后退按钮后会调用“onPauseButton”函数而不是“onBackButton”函数。
经过详细研究,我意识到'navigator.app.exitApp();' (这是cordova函数)不会完全破坏Android应用程序。
如果我从最近的应用程序列表中删除应用程序并再次运行它, 则会触发“后退按钮”事件,并且当我按下后退按钮时会调用“onBackButton”函数。
所以,我想在应用程序的每次运行中捕获“后退按钮”事件。
你建议我怎么做?
谢谢,VH
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();
}
}