Android Phonegap - 检测主页按钮?

时间:2012-01-05 17:02:47

标签: android cordova

我有以下脚本监视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 );

}

}

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

干杯 保罗

3 个答案:

答案 0 :(得分:2)

你不能这样做,但你可以用onPause()方法杀死你的应用,而不是here

修改

在onPause中执行此操作会在用户离开活动时将您的应用程序杀死,我不确定是否有办法在Android中执行您想要的操作,但也不建议使用!

您可以创建一些复杂的广播消息系统,在给定的时间间隔内将消息从您的活动发送到应用程序实例,如果您在应用程序实例中没有收到任何消息x秒,那么您就知道应用程序是在背景中..

您可以使用基本活动类来执行此操作,该活动类在x秒发送消息,直到调用onPause,并在您使用的所有其他活动中扩展该活动,以便您可以拥有此行为。

这肯定不是最好的选择,并且会根据实现消耗电池寿命,所以在实现这样的事情之前你必须确定你需要它。

答案 1 :(得分:0)

捕获硬件的Home键事件是不好的方法,Android永远不会允许您这样做。并且为了关闭应用程序,Android框架会自动将您的应用程序发送到后台,因此您无需关心在Home按下按钮事件时关闭您的应用程序。

答案 2 :(得分:0)

我同意Adil ..但如果你真的想要或者需要退出你的应用程序,为PhoneGap的“暂停”事件添加相同的监听器/功能可能会有所帮助。