由于IOS本身是没有APP退出机制的,导致在实现APP更新时无法一边更新一边关闭APP,而MUI自带的plus.runtime.quit()函数只能适用于安卓端,因此IOS的强制更新需要考虑其他方法。
因此我想到app前后台切换的场景,比如接电话、客户按下home键都会导致app进入后端运行。对其进行准确的判断有助于处理程序运行过程中的一些处理工作,h5+ 可以使用 document.addEventListener("pause", ...) 和 document.addEventListener("resume",...)进行判断, 代码如下:
var isnewok =0;//设置是否需要强制更新 document.addEventListener("resume", function (e) { console.log("应用从后台切换到前台"); if(isnewok==1){ //判断强制更新需要重新加载 checkVersionInfo();//后台切回前台时重新调用一次版本更新 } }, false);
这样的话,就能实现IOS更新APP的时候,用户切回来继续使用的情况,起到了强制更新的作用。
备注一下前台切换到后台的函数:
document.addEventListener("pause", function () { console.log("应用从前台切换到后台"); mui.toast('程序在后台运行'); }, false);