From 258578de5687e23dee6ec7bc3f8422cdbe87aaab Mon Sep 17 00:00:00 2001 From: wuqifeng <540416539@qq.com> Date: Sun, 28 Apr 2024 16:55:09 +0800 Subject: [PATCH] feat:修复ios上退出应用失效问题 --- lib/app/splash_page.dart | 2 +- lib/common/core/app_config_helper.dart | 10 ++++++++++ lib/common/permission/permissionRequestPage.dart | 4 ++-- lib/pages/moduleSelect/view.dart | 2 +- 4 files changed, 14 insertions(+), 4 deletions(-) diff --git a/lib/app/splash_page.dart b/lib/app/splash_page.dart index 50d73ff..e4862b1 100644 --- a/lib/app/splash_page.dart +++ b/lib/app/splash_page.dart @@ -95,7 +95,7 @@ class _TransitionViewState extends State { }, rightTap: () { // 退出应用 - SystemNavigator.pop(); + AppConfigHelper.exitApp(); }, ), ); diff --git a/lib/common/core/app_config_helper.dart b/lib/common/core/app_config_helper.dart index 18e0ded..8b2a7e2 100644 --- a/lib/common/core/app_config_helper.dart +++ b/lib/common/core/app_config_helper.dart @@ -2,6 +2,7 @@ import 'dart:ffi'; import 'dart:io'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/services.dart'; import 'package:package_info_plus/package_info_plus.dart'; import 'package:wow_english/common/core/sp_const.dart'; import 'package:wow_english/common/core/user_util.dart'; @@ -55,4 +56,13 @@ class AppConfigHelper { static void _clearUserData() { SpUtil.getInstance().remove(SpConst.prefsKeyAgreementAccepted); } + + static void exitApp() { + if (Platform.isIOS) { + exit(0); + } else { + //此种方式在IOS上不生效 + SystemNavigator.pop(); + } + } } diff --git a/lib/common/permission/permissionRequestPage.dart b/lib/common/permission/permissionRequestPage.dart index c99702a..8a23fc2 100644 --- a/lib/common/permission/permissionRequestPage.dart +++ b/lib/common/permission/permissionRequestPage.dart @@ -1,7 +1,7 @@ import 'dart:io'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:permission_handler/permission_handler.dart'; +import 'package:wow_english/common/core/app_config_helper.dart'; import '../../utils/log_util.dart'; @@ -167,7 +167,7 @@ class _PermissionRequestPageState extends State /// 退出应用程序 void _quitApp() { - SystemChannels.platform.invokeMethod("SystemNavigator.pop"); + AppConfigHelper.exitApp(); } /// 关闭整个权限申请页面 diff --git a/lib/pages/moduleSelect/view.dart b/lib/pages/moduleSelect/view.dart index bff9243..379bcdd 100644 --- a/lib/pages/moduleSelect/view.dart +++ b/lib/pages/moduleSelect/view.dart @@ -188,7 +188,7 @@ class _HomePageView extends StatelessWidget { onPressed: () => { if (forcedUpgrade) { - SystemNavigator.pop() + AppConfigHelper.exitApp() } else { Navigator.of(context).pop() -- libgit2 0.22.2