需求是 对APP所有页面添加对物理按键的监听,当使用者点击一次物理按键时,提醒“请再按一次即可退出应用”(延迟显示2秒),若两次点击物理按键时间间隔小于1秒,直接退出应用程序。
参考了https://blog.csdn.net/wswhero/article/details/79061581 的方法,在安卓端是正常的,但是在ios端点击页面自定义的返回键也被屏蔽。因为mui的返回键都有一个公共的类.mui-action-back ,因此做以下修改,就可以适应安卓和苹果了。
if(mui.os.android){
//监控手机物理返回键,按一次提醒
var first = null;
mui.back=function(){
if(!first){
first = new Date().getTime();
mui.toast('再按一次退出应用');
setTimeout(function(){
first = null;
},2000);
} else {
if(new Date().getTime() - first < 1000){
plus.runtime.quit();
}
}
};
}
//页面自定义的返回键
$('.mui-action-back').on('tap', function() {
// alert("我被点了");
// debugger;
if(mui.os.android){
mui.back=function(){
history.go(-1); // 返回上一页
}
}
});