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

Posted 空间机器

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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开发时用遇到监听手机返回按钮的问题~的主要内容,如果未能解决你的问题,请参考以下文章

我用ionic框架做的app,但是安卓手机的返回键返回上一个页面,有几个页面怎么都返回不了

【VUE】监听页面返回或移动端物理返回按钮键

ionic痛点:Android真机物理返回按钮问题!GitHub问题归纳

JS监听浏览器后退事件

ionic Android软键盘弹出引起的tab被挤上去的解决方案

在标记Ionic Google Maps JavaScript之间绘制折线