ionic注册安卓物理返回键的处理方法

用ionic框架开发过app的朋友都知道,ionic打包的安卓工程,物理返键的处理在真机中是逐一返回之前访问过的页面,有可能是父页面到子页面,也有可能是子页面到父页面,这样造成的用户体验十分不好,幸好ionic框架支持注册安卓物理返回键的功能,具体处理方法为在app.js的.run函数中注册$ionicPlatform.registerBackButtonAction
贴代码:

 /**
   * 注册安卓返回键的处理
   * @author hz
   * @since 2017/8/11
   * */
  $ionicPlatform.registerBackButtonAction(function (e) {
    //阻止默认的处理方法
    e.preventDefault();
    //声明退出提示函数
    function showConfirm() {
      var confirmPopup = $ionicPopup.confirm({
        title: '<strong>退出应用?</strong>',
        template: '你确定要退出应用吗?',
        okText: '退出',
        cancelText: '取消'
      });

      confirmPopup.then(function (res) {
        if (res) {
          ionic.Platform.exitApp();
        }
        else {
          // Don't close
        }
      });
    }
    // Is there a page to go back to?
    if ($location.path() == '/mainMap' ) {
      showConfirm();
    } else if ($ionicHistory.backView()) {
      $ionicHistory.goBack();
    } else {
      // This is the last page: Show confirmation popup
      showConfirm();
    }

    return false;
  }, 101);

处理逻辑为到了指定页面:$location.path() == '/mainMap'按返回键就提示是否退出应用,一般是登录后的首页;如果$ionicHistory有返回的页面,按返回键就直接返回$ionicHistory.goBack();其它情况也是提示是否退出应用,一般是登录页面。
最后别忘了在.run函数中添加参数:.run(function($ionicPlatform, $ionicHistory, $ionicPopup, $location){}),不然该函数不起作用。

参考资料:http://blog.csdn.net/pxc932422338/article/details/44916897

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值