在Android的PhoneGap上捕获返回的按键。

| 我正在使用PhoneGap进行Android应用程序开发,但是我一直无法捕捉设备上的后退按键!我尝试了其他线程和官方Wiki页面上的所有内容,但似乎没有任何效果! :( 我可以使用keyEvent.menuTrigger和keyEvent.searchTrigger捕获菜单和搜索键,但似乎无法捕获按下后退按钮!我也尝试了keyEvent.backTrigger,但没有成功!为\'backKeyDown \'事件添加事件监听器也不起作用! 这是我的代码:
BackButton.override();
    document.addEventListener(\'backKeyDown\', function(e) {
  console.log(\'Caught it!\');
}, false);
keyEvent.searchTrigger= searchPressed;
keyEvent.menuTrigger=menuPressed;
keyEvent.backTrigger=backPressed;
控制台说:
Line 1 : Uncaught TypeError: Cannot call method \'backTrigger\' of undefined
这并不意味着某事。正在调用backTrigger()但该对象某事不存在。那是什么东西还是有什么办法? 在KeyEvent上也尝试过相同的方法,但是没有运气! 请帮忙! 提前致谢! :)     
已邀请:
关于Android按钮处理程序的PhoneGap Wiki页面已针对PhoneGap 0.9.5更新:
// This is your app\'s init method. Here\'s an example of how to use it
function init() {
    document.addEventListener(\"deviceready\", onDR, false);
} 

function onDR(){
    document.addEventListener(\"backbutton\", backKeyDown, true);
    //boot your app...
}

function backKeyDown() {
    // do something here if you wish
    // alert(\'go back!\');
}
适用于我与PhoneGap 0.9.6 您还可以使用menubutton和searchbutton事件处理其他按钮。     
如果您使用的API级别高于2.0,那么您可以覆盖以下功能
@Override
public void onBackPressed() {
// do something on back.
return;
}
用于跟踪后退按钮按下事件。 如果不是,那么您可以覆盖活动的onKeyDown事件和“后退”按钮
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        // do something on back.
        return true;
    }

    return super.onKeyDown(keyCode, event);
} 
    
这是在带xuijs的PhoneGap中执行的操作:
// inside your \'deviceready\' handler
if (device.platform == \'Android\') {
    BackButton.override();

    // add backkeyDown handler
    x$(document).on(\'backKeyDown\', onBackKeyDown);
}

// back button handler
function onBackKeyDown() {
    // do something
    // or
    // BackButton.exitApp();
}
    

要回复问题请先登录注册