在开发vue3项目时,用HBuilder把项目打包chengapp后,把apk安装到手机上进行测试的时候,发现无论在哪个页面,点击手机上的物理返回键,都会直接关闭app。
解决方法:在项目的src目录下新建一个appback.js文件,判断当前路由是否还有上一层路由,没有就退出应用,有则返回上一层
/**解决返回直接退出应用的bug */
document.addEventListener('plusready', function () {
var webview = plus.webview.currentWebview()
var first = null
plus.key.addEventListener('backbutton', function () {
webview.canBack(function (e) {
if (e.canBack) {
webview.back()
} else {
var isFirstPage = true;
var currentRoute = webview.getURL().split('/').pop(); // 获取当前页面路由名称
if (currentRoute !== '') {
isFirstPage = false;
}
//判断是否第一次点击返回
if (!first) {
first = new Date().getTime()
if (isFirstPage) {
plus.nativeUI.toast('再次返回退出应用', { duration: 'short' }) // 此处可以用自定义提示
}
setTimeout(function () {
first = null
}, 1500)
} else {
if (new Date().getTime() - first < 1500) {
plus.runtime.quit()
}
}
}
})
})
})