在安卓下,如果不处理系统返回键的事件,那么每次点击返回键,将页面将返回到上一个路由,这种逻辑不符合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官方已经定义了常用的行为的优先级:
用法如下:
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小时内与您取得联系。