最近,遇到了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(); //退出应用 } } }; }); }); });
javascript
运行
12345678910111213141516171819202122232425262728293031最后在main.js里面引入:
import '@/utils/app-back-button.js';
javascript
运行
1亲测有效!!!!

