恢复为物理后退按钮的默认行为

时间:2015-11-18 13:54:54

标签: android cordova reactjs

我有一个Cordova应用ReactJS。在主页上我希望后退按钮暂停应用程序(默认行为),当不在主页上时,我希望我的历史自定义实现可以接管。在我添加的deviceready事件处理程序中

document.addEventListener( 'backbutton', onBackButtonKeyDown.bind(this), false);

onBackButtonKeyDown的实现看起来像这样(删除了一些东西以使代码更清晰):

function onBackButtonKeyDown(e) {
    if(!SomeStore.isMainMenuClosed) {
        e.preventDefault();
        historyButtonActions.raiseBackButtonClickedEvent();
    }
};

我还尝试使用else添加return false;块。在所有情况下,都不会触发默认行为。谷歌搜索时我看到了一些使用navigator.app.exitApp();的建议,但我不想退出应用。我希望Home意图接管并让应用程序暂停,就像默认功能一样。

1 个答案:

答案 0 :(得分:0)

我最后通过根据需要在backbutton事件中添加和删除自定义处理程序来解决问题。删除处理程序后,默认行为将返回。