| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
-
- import {ref} from "vue";
- import {
- onBackPress
- } from '@dcloudio/uni-app';
- export function useExitApp() {
- const canExitApp = ref(false);
-
- onBackPress((options) => {
- if (options.from === 'backbutton') {
- // 鸿蒙返回键处理
- return handleHarmonyOSBack()
- }
- return false
- })
-
- function handleHarmonyOSBack() {
- // 双击返回键退出应用
- if (!canExitApp.value) {
- canExitApp.value = true
-
- // 显示提示
- uni.showToast({
- title: '再按一次退出应用',
- icon: 'none',
- duration: 2000
- })
-
- // 2秒后重置状态
- setTimeout(() => {
- canExitApp.value = false
- }, 2000)
-
- return true // 拦截返回事件
- } else {
- // 退出应用
- exitApp()
- return true
- }
- }
-
- function exitApp() {
- // #ifdef APP-PLUS || APP-PLUS-NVUE
- // 鸿蒙系统退出应用
- plus.runtime.quit()
- // #endif
- }
-
- }
|