少年恃险若平地,独倚长剑凌清秋。这篇文章主要讲述mui或者uni退出app相关的知识,希望能为你提供帮助。
在安卓上可以使用
//1.1 var backButtonPress = 0; $.back = function(event) { backButtonPress++; if(backButtonPress > 1) { plus.runtime.quit(); } else { plus.nativeUI.toast(‘再按一次退出应用‘); } setTimeout(function() { backButtonPress = 0; }, 1000); return false; }; //1.2 mui.back = function() { var btn = ["确定", "取消"]; mui.confirm(‘确认关闭当前窗口?‘, ‘Hello MUI‘, btn, function(e) { if(e.index == 0) { plus.runtime.quit(); } }); }
H5+官方文档提供的plus.runtime.quit(); 对android有效,但对ios无效。但实际上,iOS系统原生提供了[[NSThread mainThread] exit]; 方法可以强制退出当前App,并且H5+支持调用iOS原生类的方法(通过plus.ios.importClass和invoke函数),于是就可以变相实现强制退出iOS的App了,代码如下:
if (mui.os.ios) { const threadClass = plus.ios.importClass("NSThread"); const mainThread = plus.ios.invoke(threadClass, "mainThread"); plus.ios.invoke(mainThread, "exit"); } else if (mui.os.android) { plus.runtime.quit(); }
我自己项目所使用的
document.getElementById("tuic").addEventListener("tap", function(){ var old_back = mui.back; var btnArray = [‘是‘, ‘否‘]; mui.confirm(‘您确定退出?‘, ‘‘, btnArray, function(e) { //当选择是的时候执行 if(e.index == 0) { //判断当前设备类型 if(mui.os.ios || mui.os.ipad){ plus.storage.clear(); const threadClass = plus.ios.importClass("NSThread"); const mainThread = plus.ios.invoke(threadClass, "mainThread"); plus.ios.invoke(mainThread, "exit"); }else if(mui.os.android) {plus.storage.clear(); // 获取当前webview窗口对象 var curr = plus.webview.currentWebview(); //获取所有已经打开的webview窗口 var wvs = plus.webview.all(); for(var i = 0, len = wvs.length; i < len; i++) { //关闭除当前页面外的其他页面 if(wvs[i].getURL() == curr.getURL()) //遇到当前页跳过 continue; //非当前页执行关闭 plus.webview.close(wvs[i]); } /*//打开login页面 plus.webview.open(‘Signin.html‘,‘Signin.html‘); *///执行关闭当前页面curr.close(); old_back(); //退出app }else{ //runtime 运行环境管理模块执行退出 (一般运行不到这里) plus.runtime.quit(); } } }) })
【mui或者uni退出app】
推荐阅读
- 重大更新AppWizard来了,emWin6.10版本来了
- Java 的API(API: Application(应用) Programming(程序) Interface(接口))
- android动画相关
- uni-app自定义app端的扫码界面
- call,apply,bind的用法及区别
- Android studio常用快捷键
- AndroidStudio中如何搭建码云
- Internet History,Technology,and Security-Technology: Application Protocols(Week7)
- 使用VSCode创建简单的Razor Webapp--1.入门