【发布时间】:2013-05-14 07:01:31
【问题描述】:
在 Android 上使用 Cordova-2.7.0 我有以下 JS 脚本。
在测试后退按钮功能时,我遇到了一个奇怪的行为。
在应用程序第一次运行时,当我按下后退按钮时,触发 'backbutton' 事件并调用 'onBackButton' 函数。
当我退出应用程序并再次运行应用程序时,在按下返回按钮后,会调用 'onPauseButton' 函数而不是 'onBackButton' 函数。
经过详细研究,我意识到'navigator.app.exitApp();'(即cordova函数)并没有完全破坏Android应用程序。
如果我从最近的应用程序列表中删除应用程序并再次运行它,'backbutton' 事件会被触发,当我按下返回时会调用 '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();
}
}
【问题讨论】:
标签: android cordova cordova-2.0.0