解决Hbuilder打包的apk文件按手机返回键直接退出软件
2024-10-19 06:29:40
问题描述:Hbuilder打包的app如果点击手机返回键,app会直接退出,返回不了上一页。
写在公共js文件中,每个页面均引入该js,代码如下:
document.addEventListener('plusready', function() {
var webview = plus.webview.currentWebview();
plus.key.addEventListener('backbutton', function() {
webview.canBack(function(e) {
if(e.canBack) {
webview.back();
} else {
webview.close(); //hide,quit按手机返回键直接退出APP
//plus.runtime.quit();
}
})
});
});
上面的一段代码即可实现按手机返回键时返回上一页,当返回到首页,再按手机返回键即可退出APP,下面的代码可以不要
点击手机返回键两次提示退出程序,代码如下:
注: 在hbuilder中新建移动App时,选择模板-mui项目,在页面中引入mui.js以及mui.min.js,点击两次退出程序效果才会实现
mui.plusReady(function() {
//首页返回键处理
//处理逻辑:1秒内,连续两次按返回键,则退出应用;
var first = null;
plus.key.addEventListener('backbutton', function() {
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime();
mui.toast('再按一次退出应用');
setTimeout(function() {
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1000) {
plus.runtime.quit();
}
}
}, false);
});
按手机返回键返回上一页 + 点击手机返回键两次提示退出程序效果,完整js代码:
注:此段代码当在首页,按手机返回键时无效果,不会退出APP,要点击两次才行
<script>
document.addEventListener('plusready', function() {
var webview = plus.webview.currentWebview();
plus.key.addEventListener('backbutton', function() {
webview.canBack(function(e) {
if(e.canBack) {
webview.back();
} else {
//webview.close(); //hide,quit
//plus.runtime.quit();
mui.plusReady(function() {
//首页返回键处理
//处理逻辑:1秒内,连续两次按返回键,则退出应用;
var first = null;
plus.key.addEventListener('backbutton', function() {
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime();
mui.toast('再按一次退出应用');
setTimeout(function() {
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1500) {
plus.runtime.quit();
}
}
}, false);
});
}
})
});
});
</script>
最新文章
- IOS开发基础知识--碎片46
- Java方法
- .net 高效管理稀缺资源(数据库资源,文件资源等)
- 第六十九篇、OC_录制语音和播放语音功能的实现
- Android入门:用HttpClient模拟HTTP的GET和POST请求
- Ubuntu 14.04 LAMP搭建小记
- 使用VisualStudio2010创建C#应用程序
- php 设置字符集为utf-8
- D - 二叉树遍历(推荐)
- poj3259(spfa判负环)
- Func和Action的用法区别
- EM 期望最大化算法
- tomcat 和 jboss access log 日志输出详解
- 《Effective Modern C++》翻译--条款2: 理解auto自己主动类型推导
- Win7 vs2017 WDK 1803 1809 驱动开发 出错 KMDF
- 开源数据同步神器——canal
- 洛谷 P1571 眼红的Medusa【二分查找】 || 【map】
- SSH异常处理(一)
- 华中农业大学第五届程序设计大赛网络同步赛-A
- Python 如何引入自定义模块