如何在按下后退按钮时阻止Android关闭Web应用程序?

Sin*_*dre 4 javascript android back-button cordova

我正在开发一个HTML5 Web应用程序,并使用Cordova(phonegap)1.7进行编译.

我想覆盖Android后退按钮,以便我可以调用window.history.back()而不是关闭应用程序(默认Android).如何防止Android在按下后退按钮时杀死默认活动?

我得到了"后退按钮!!!!" 在logcat中,因此在关闭应用程序之前触发该方法.

这是我到目前为止:

        // Wait for Cordova to load
        //
        document.addEventListener("deviceready", onDeviceReady, false);

        // Cordova is ready
        //
        function onDeviceReady() {

            document.addEventListener("backbutton", function(e) {

                console.log("Back button pressed!!!!");                 
                window.history.back();


            }, false);

        }
Run Code Online (Sandbox Code Playgroud)

编辑:我愿意接受一个答案,解释一种直接从DefaultActivity.java android类模拟window.history.back()的方法,如果可能的话!

Sin*_*dre 6

我通过在DefaultActivity.java文件中添加以下代码来解决我自己的问题,以防止默认的android行为,并保持问题中所述的JavaScript代码:

@Override
public void onBackPressed() {
   return;
}
Run Code Online (Sandbox Code Playgroud)

我希望这可以帮助将来有同样问题的人!