Android Phonegap-检测主页按钮?

Android Phonegap-检测主页按钮?,android,cordova,Android,Cordova,我有以下脚本监控android后退按钮操作- document.addEventListener("backbutton", backKeyDown, true); function backKeyDown() { if($.mobile.activePage.is('#homepage')){ setTimeout( function() {navigator.app.exitApp();}, 100 ); } else { setTimeout( function(

我有以下脚本监控android后退按钮操作-

document.addEventListener("backbutton", backKeyDown, true); 


function backKeyDown() { 


if($.mobile.activePage.is('#homepage')){
  setTimeout( function() {navigator.app.exitApp();}, 100 );

}
else {
    setTimeout( function() {$.mobile.changePage("#homepage");}, 100 );

}
}

我也想在按下物理主页按钮时关闭应用程序-有人知道如何检测吗

干杯
Paul

捕获硬件的
主页
关键事件是一种糟糕的方法,Android永远不会允许你这么做。对于关闭应用程序,android framework会自动将你的应用程序发送到后台,这样你就不必担心在按下
主页
按钮事件时关闭你的应用程序。

你不能这样做,但你可以用
onPause()
方法杀死你的应用程序,查看更多信息

编辑:

在onPause中这样做会在用户离开活动时杀死你的应用程序,我不确定是否有办法在android中实现你想要的功能,但也不建议这样做

您可以创建一些复杂的广播消息系统,以给定的时间间隔将活动中的消息发送到应用程序实例,如果您在应用程序实例中有x秒未收到任何消息,则您知道应用程序位于后台

您可以使用一个基本活动类来实现这一点,该类在调用onPause之前以x秒的时间发送消息,并在您使用的所有其他活动中扩展该活动,从而实现此行为


这肯定不是最好的选择,而且会消耗电池寿命,具体取决于具体实施情况,因此,在实施此类方案之前,您必须确实确保您需要它。

我同意Adil。。但是,如果您确实想或需要退出应用程序,为PhoneGap的“暂停”事件添加相同的侦听器/功能可能会奏效。

这也会在用户关闭屏幕时触发