# uni.exit(options?)

退出当前应用

# exit 兼容性

Web 微信小程序 Android Android uni-app x UTS 插件 iOS iOS uni-app x UTS 插件
x - 3.91 3.91 4.33 4.33

# app平台差异

# app-android平台

Android平台的应用退出分热退出和冷退出。

  • 冷退出是彻底杀掉
  • 热退出是关闭可见的activity,后台进程不退出(比如push)

基本上主流Android App都是热退出。本API也是热退出。

热退出,即通知了os:这个App用户不用了,在os需要时可以回收。如果在os回收之前,用户又启动这个App,会感觉启动速度更快一些。

# app-ios平台

iOS平台仅uni-app x SDK模式中支持应用退出。

# 参数

名称 类型 必填 默认值 兼容性 描述
options ExitOptions - - uni.exit参数定义
名称 类型 必备 默认值 兼容性 描述
success (res: ExitSuccess) => void - - uni.exit成功回调函数定义
fail (res: IExitError) => void - - uni.exit失败回调函数定义
complete (res: any) => void - - uni.exit完成回调函数定义

# ExitSuccess 的属性值

名称 类型 必备 默认值 兼容性 描述
errMsg string - - -

# IExitError 的属性值

名称 类型 必备 默认值 兼容性 描述
errCode number - - 错误码
合法值 兼容性 描述
12001 - 系统不支持
12002 - 未知错误
12003 - iOS平台,仅在uni-app x SDK模式中支持应用退出
errSubject string - - 统一错误主题(模块)名称
data any - - 错误信息中包含的数据
cause Error - - 源错误信息,可以包含多个错误,详见SourceError
errMsg string - - -

# 参见

# 示例

hello uni-app x

该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验

扫码体验(手机浏览器跳转到App直达页)
<template>
  <view>
    <button @tap="exitAppClick">退出应用</button>
    <text>注:iOS仅在uni-app x SDK模式中支持应用退出</text>
  </view>
</template>

<script>
  export default {
    methods: {
      exitAppClick: function () {
        uni.exit({
          success: function (res) {
            console.log(res)
          },
          fail: function(error){
            console.log(error)
          }
        })
      }
    }
  }
</script>

<style>

</style>

# 通用类型

# GeneralCallbackResult

名称 类型 必备 默认值 兼容性 描述
errMsg string -
错误信息

# 切换应用到后台

有的Android App,点back后不询问用户,直接隐藏到了后台。这种做法占用手机的资源一些,但确实也有一些App是这么做的。

Android的activity提供了将应用切换到后台的方法:

// #ifdef APP-ANDROID
	UTSAndroid.getUniActivity()?.moveTaskToBack(true)
// #endif