在安卓上可以使用

//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的更多相关文章

  1. vue打包成app后,点击手机上的物理返回按钮后直接退出app

    在浏览器上浏览vue项目时,后退按钮是可以正常返回上一页的,但是打包成app后,点击手机上的屋里返回按钮,就直接退出app回到桌面了, 以下是解决办法: 使用mui进行手机的物理键的监听 1.首先安装 ...

  2. iOS 之 退出app(项目)的几种方法

    路漫漫其修远兮,吾将上下而求索.也算是对程序员的一种真实写照了吧. 今天想研究一下iOS中退出项目的方法,说是今天,其实也关注并去了解很久了.只是始终找不到自己认为很好的方法.今天就先把自己了解的列举 ...

  3. Android开发之点击两次Back键退出App

    Back按键的方法是onKeyDown()方法,重写该方法就可以改变back按键的作用. 实现点击两次Back按键退出app,有两种方法: 方法1. private static boolean is ...

  4. Android:后台给button绑定onClick事件、当返回项目到手机页面时提示是否退出APP

    上一篇文章我们学习了android通过findViewById的方式查找控件,本章将了解button控件,及btton如何绑定控件. 通过android的ui设计工具设计一个登录页面: <Rel ...

  5. Android Studio设置连续按两次退出APP

    主要是在onKeyDown方法中进行操作,直接上代码. private long mTime; @Override public boolean onKeyDown(int keyCode, KeyE ...

  6. Android Studio 点击两次返回键,退出APP

    该功能的实现没有特别复杂,主要在onKeyDown()事件中实现,直接上代码,如下: //第一次点击事件发生的时间 private long mExitTime; /** * 点击两次返回退出app ...

  7. Flutter - 退出App

    Flutter退出App的方法一般有两种 ①SystemNavigator.pop 推荐 onTap: () async { await pop(); }, static Future<void ...

  8. ionic 项目内部更新用到的插件,退出app插件

    一 cordova-plugin-app-version插件  用来获取APP版本 ionic plugin add cordova-plugin-app-version -----cordova-p ...

  9. 退出app 退出应用程序

    退出app的两种方式1   创建activity的基类,让所有的activity都继承该基类,在基类中创建一个静态的activity列表,并在oncreate方法添加该activity,在退出时,遍历 ...

随机推荐

  1. 初探Java设计模式4:一文带你掌握JDK中的设计模式

    转自https://javadoop.com/post/design-pattern 行为型模式 策略模式 观察者模式 责任链模式 模板方法模式 状态模式 行为型模式总结 本系列文章将整理到我在Git ...

  2. 2018-2019-2 20162329 《网络对抗技术》Exp8: Web基础

    目录 Exp8: Web基础 一. 基础问题回答 1. 什么是表单 2. 浏览器可以解析运行什么语言. 3. WebServer支持哪些动态语言 二. 实验过程 1. Web前端HTML 2..Web ...

  3. pom中更换阿里云仓库时不要忽略了pluginRepositories

    用maven也大几年了,也一直在用阿里云的中央仓库. 不喜欢在maven的settings.xml里改,更喜欢直接在pom.xml里改,因为受git管理,小伙伴们拉下来即可. 然而网上的大部分技术文章 ...

  4. vertica内存不足的解决方案

    执行以下语句: alter resource pool general MAXMEMORYSIZE '80%'; 当内存达到80%时,新的任务进去等待状态,直到前面任务执行完毕.

  5. springmvc和mybatis面试题(含答案)

    Spring MVC Framework有这样一些特点: 1.它是基于组件技术的.全部的应用对象,无论控制器和视图,还是业务对象之类的都是java组件.并且和Spring提供的其他基础结构紧密集成. ...

  6. jdk1.8 Stream 特性总结

    不是数据结构 它没有内部存储,它只是用操作管道从 source(数据结构.数组.generator function.IO channel)抓取数据. 它也绝不修改自己所封装的底层数据结构的数据.例如 ...

  7. Python数据库添加时间

    利用pymysql往数据库中添加时间字段的方法: 1.导入datetime和pymysql:安装:pip install pymysql, datetime是内置 2.写入SQL语句:向对应的字段中间 ...

  8. 《 .NET并发编程实战》阅读指南 - 第8章

    先发表生成URL以印在书里面.等书籍正式出版销售后会公开内容.

  9. 【linux】查看linux系统自带的服务启动文件

    =============================================================== 1.查看所有启动文件 systemctl list-unit-files ...

  10. form.submit()提交后返回数据的处理

    form.submit()发送请求一般是单向的,如果需要取返回的数据,一般会发送ajax请求,但是如果form中有附件呢?(以后有时间给大家分享ajax上传附件的功能),确实需要返回数据来知道该功能是 ...