使用ionic开发时用遇到监听手机返回按钮的问题~

当时用的是ionic开发一个app,需求是,当按下手机的返回按钮,在指定的页面双击退出,而在其他页面点击一次返回到上个页面;

其实用ionic自带的服务就可以解决:

 //双击退出 
 $ionicPlatform.registerBackButtonAction(function (e) {
  //判断处于哪个页面时双击退出 
  if($location.path() =='/message' || $location.path() =='/work' || $location.path() =='/mine' || $location.path()=='/login'){
   if ($rootScope.backButtonPressedOnceToExit) {
    $rootScope.disconnect();
    ionic.Platform.exitApp();
   } else {
    $rootScope.backButtonPressedOnceToExit = true;
    $CommonFactory.showToast('再按一次退出程序',"short","bottom");
    $timeout(
     function () {
      $rootScope.backButtonPressedOnceToExit = false;
    }, 2000);
   }
  }else{
   $CommonFactory.topBack();
  }
  e.preventDefault();
  return false;  
 }, 101);

但是,我用了hbuider的编辑器,可以一边调试一边在手机上看,所有就出现了不能够返回退出;

在Hbuider中也可以实现监听手机返回键:

document.addEventListener("plusready", function(e) {
plus.key.addEventListener('backbutton', function(e) {
plus.nativeUI.confirm("退出程序?", function(event) {
   if (event.index) {
        plus.runtime.quit();
       }
    }, null, ["取消", "确定"]);  
}, false);
});

因为ionic是基于PhoneGap的编译平台,所以使用Hbuilder调试时没有效果;

使用ionic打包之后应该会没问题了把!

上一篇:JavaScript监听手机物理返回键的两种解决方法


下一篇:【WPF】MVVM动态修改Bingding的另一种思路——用Style样式