首页 > 代码库 > phonegap退出android程序

phonegap退出android程序

最近用android做了一个程序,在点“后退”的时候,会不停地后退,感觉不好。

查了些资料有这么些:

一、toast_plugin插件

<script type="text/javascript" charset="utf-8" src=http://www.mamicode.com/"cordova-2.0.0.js"></script> <script src=http://www.mamicode.com/"toast_plugin.js"></script>document.addEventListener("deviceready", onDeviceReady, false); function onDeviceReady() {
  document.addEventListener("backbutton", eventBackButton, false); //返回键}
function eventBackButton(){ window.plugins.toastPlugin.show_long(
再点击一次退出!); document.removeEventListener("backbutton", eventBackButton, false); //注销返回键 //3秒后重新注册 var intervalID = window.setInterval(   function() {     window.clearInterval(intervalID);     document.addEventListener("backbutton", eventBackButton, false); //返回键    },3000);

这个可是实现现在很多APP双击返回键退出程序的功能;

 

二、按返回键,弹退出确认框 

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() { document.addEventListener("backbutton", eventBackButton, false); //监听事件//
}//事件处理
function eventBackButton(){  showConfirm();}
// PhoneGap Notification 提供的 Confirm APIfunction showConfirm() { navigator.notification.confirm( ‘按確定退出, // message onConfirm, // callback function ‘是否退出, // title ‘确定,取消 // confirm 選項,用逗號隔開 );}

function onConfirm(button) {
   if (button === 1){
      navigator.app.exitApp();
   }
}

 

上面2个基本上都可以满足要求,不过还是感觉哪里不对劲。

有时候就是想要返回后退效果,结果也编程退出程序。

这时候就要添加个判断了,如下代码结合上面的方法就可以完美解决了!

document.addEventListener("backbutton",onBackKeyDown,false); 
function onBackKeyDown(){  if($.mobile.activePage.is(#homepage))
    navigator.app.exitApp();
  else
    navigator.app.backHistory();
}