全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

ionic App问题总结系列之ionic点击系统返回键退出App

在安卓下,如果不处理系统返回键的事件,那么每次点击返回键,将页面将返回到上一个路由,这种逻辑不符合app的路由逻辑。正确的应该是:当页面到了各个导航页的首页时,此时再按返回键应该提示是否退出app,用户点击确认后退出app。

在run()方法中添加下面的方法

$ionicPlatform.registerBackButtonAction(function (e){
    //阻止默认的行为
    e.preventDefault();
    // 退出提示框
    function showConfirm() {
     var servicePopup = $ionicPopup.show({
      title: '提示',
      subTitle: '你确定要退出应用吗?',
      scope: $rootScope,
      buttons: [
       {
        text: '取消',
        type: 'button-clear button-assertive',
        onTap: function () {
         return 'cancel';
        }
       },
       {
        text: '确认',
        type: 'button-clear button-assertive border-left',
        onTap: function (e) {
         return 'active';
        }
       },
      ]
     });
     servicePopup.then(function (res) {
      if (res == 'active') {
       // 退出app
       ionic.Platform.exitApp();
      }
     });
    }
     // 判断当前路由是否为各个导航栏的首页,是的话则显示提示框
    if ($location.path() == '/index' || $location.path() == '/product' || $location.path() == '/account' || $location.path() == '/more') {
     showConfirm();
    } else if ($ionicHistory.backView()) {
     $ionicHistory.goBack();
    } else {
     showConfirm();
    }
    return false;
   }, 101); //101优先级常用于覆盖‘返回上一个页面'的默认行为
 

$ionicPlatform.registerBackButtonAction()

该方法是用来注册系统返回键事件。每次点击只会执行最高优先级的那个行为。比如当页面存在一个modal框的时候,此时点击系统返回键则是关闭modal框,而不是返回上个视图。

ionic官方已经定义了常用的行为的优先级:

  • 返回上个视图=100;
  • 关闭侧栏菜单=150;
  • 关闭Modal=200;
  • 关闭 action sheet=300;
  • 关闭popup=400;
  • 关闭loading=500;

用法如下:

registerBackButtonAction(callback, priority, [actionId])

所以当你要重写ionic官方定义上面那些行为,你只需要设置优先级大于那些行为的优先级即可。比如你要覆盖的是返回上个视图的行为,那么你只需要传入的proirity的值大于100(同时要小于150)即可。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# ionic  # 返回键退出  # 返回键  # 退出app  # ionic2.0双击返回键退出应用  # ionic监听android返回键实现“再按一次退出”功能  # 三步实现ionic3点击退出app程序  # ionic3双击返回退出应用的方法  # ionic+html5+API实现双击返回键退出应用  # 上个  # 你要  # 首页  # 的是  # 你只需要  # 则是  # 只会  # 重写  # 不符合  # 时要  # 大家多多  # 再按  # 而不是  # 应该是  # 是用来  # 导航页  # return  # title  # subTitle  # assertive 


相关文章: 建站之星与建站宝盒如何选择最佳方案?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  建站VPS能否同时实现高效与安全翻墙?  子杰智能建站系统|零代码开发与AI生成SEO优化指南  制作网站建设的公司有哪些,网站建设比较好的公司都有哪些?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  香港网站服务器数量如何影响SEO优化效果?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何制作算命网站,怎么注册算命网站?  建站主机功能解析:服务器选择与快速搭建指南  如何快速搭建个人网站并优化SEO?  建站VPS配置与SEO优化指南:关键词排名提升策略  已有域名能否直接搭建网站?  如何在IIS管理器中快速创建并配置网站?  在线制作视频的网站有哪些,电脑如何制作视频短片?  如何在宝塔面板中修改默认建站目录?  如何通过二级域名建站提升品牌影响力?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  金*站制作公司有哪些,金华教育集团官网?  如何通过智能用户系统一键生成高效建站方案?  小程序网站制作需要准备什么资料,如何制作小程序?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  建站之星好吗?新手能否轻松上手建站?  深圳网站制作案例,网页的相关名词有哪些?  建站主机与服务器功能差异如何区分?  建站之星后台密码遗忘或太弱?如何重置与强化?  Android自定义控件实现温度旋转按钮效果  Swift中循环语句中的转移语句 break 和 continue  青浦网站制作公司有哪些,苹果官网发货地是哪里?  已有域名和空间如何搭建网站?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何高效利用200m空间完成建站?  如何快速查询网站的真实建站时间?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  南京网站制作费用,南京远驱官方网站?  广平建站公司哪家专业可靠?如何选择?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  如何在橙子建站上传落地页?操作指南详解  如何在IIS7中新建站点?详细步骤解析  网站制作话术技巧,网站推广做的好怎么话术?  建站主机服务器选购指南:轻量应用与VPS配置解析  海南网站制作公司有哪些,海口网是哪家的?  如何通过多用户协作模板快速搭建高效企业网站?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  建站主机默认首页配置指南:核心功能与访问路径优化  网站制作壁纸教程视频,电脑壁纸网站?  深入理解Android中的xmlns:tools属性  建站之星Pro快速搭建教程:模板选择与功能配置指南  定制建站价位费用解析与套餐推荐全攻略  如何通过山东自助建站平台快速注册域名? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。