phonegap退出android程序

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

查了些资料有这么些:

一、toast_plugin插件

<script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
 <script src="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 API function 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();
}

 

posted @ 2014-07-28 19:28  一只笨鸟只一  阅读(371)  评论(0编辑  收藏  举报