最近,遇到了h5打包成APP后,小米手机用自带的返回侧滑直接退出了应用
h5打包的app,在android手机上,点击手机自带的物理返回键,直接退出了app。由于onbackPress在app上不生效,于是用js的方式去做了拦截,实现了点击物理返回键返回上一页,而不是退出app。(提示:代码放在main.js文件中,不要乱放)
经过百度和论坛,最终解决方案如下:
首先先创建一个文件,命名为:app-back-button.js, 放在文件的utils目录里,或者随意,记住路径就行,
app-back-button.js
// 解决 关于HBuilder X打包的APP按返回键退出的问题
document.addEventListener('plusready', function() {
var first = null;
// console.log('再按一次退出应用');//用自定义toast提示最好
var webview = window.plus.webview.currentWebview();
window.plus.key.addEventListener('backbutton', function() {
webview.canBack(function(e) {
if (e.canBack) {
webview.back(); //这里不建议修改自己跳转的路径
} else {
//首次按键,提示‘再按一次退出应用’
if (!first) {
first = new Date().getTime(); //获取第一次点击的时间戳
// console.log('再按一次退出应用');//用自定义toast提示最好
// toast('双击返回键退出应用'); //调用自己写的吐丝提示 函数
window.plus.nativeUI.toast('再按一次退出应用', {
duration: 'short'
}); //通过H5+ API 调用Android 上的toast 提示框
setTimeout(function() {
first = null;
}, 1000);
} else {
if (new Date().getTime() - first < 1000) { //获取第二次点击的时间戳, 两次之差 小于 1000ms 说明1s点击了两次
window.plus.runtime.quit(); //退出应用
}
}
};
});
});
});
最后在main.js里面引入:
import '@/utils/app-back-button.js';
亲测有效!!!!

4407

被折叠的 条评论
为什么被折叠?



