Commit 258578de5687e23dee6ec7bc3f8422cdbe87aaab
1 parent
2a9895f6
feat:修复ios上退出应用失效问题
Showing
4 changed files
with
14 additions
and
4 deletions
lib/app/splash_page.dart
| @@ -95,7 +95,7 @@ class _TransitionViewState extends State<TransitionView> { | @@ -95,7 +95,7 @@ class _TransitionViewState extends State<TransitionView> { | ||
| 95 | }, | 95 | }, |
| 96 | rightTap: () { | 96 | rightTap: () { |
| 97 | // 退出应用 | 97 | // 退出应用 |
| 98 | - SystemNavigator.pop(); | 98 | + AppConfigHelper.exitApp(); |
| 99 | }, | 99 | }, |
| 100 | ), | 100 | ), |
| 101 | ); | 101 | ); |
lib/common/core/app_config_helper.dart
| @@ -2,6 +2,7 @@ import 'dart:ffi'; | @@ -2,6 +2,7 @@ import 'dart:ffi'; | ||
| 2 | import 'dart:io'; | 2 | import 'dart:io'; |
| 3 | 3 | ||
| 4 | import 'package:flutter/cupertino.dart'; | 4 | import 'package:flutter/cupertino.dart'; |
| 5 | +import 'package:flutter/services.dart'; | ||
| 5 | import 'package:package_info_plus/package_info_plus.dart'; | 6 | import 'package:package_info_plus/package_info_plus.dart'; |
| 6 | import 'package:wow_english/common/core/sp_const.dart'; | 7 | import 'package:wow_english/common/core/sp_const.dart'; |
| 7 | import 'package:wow_english/common/core/user_util.dart'; | 8 | import 'package:wow_english/common/core/user_util.dart'; |
| @@ -55,4 +56,13 @@ class AppConfigHelper { | @@ -55,4 +56,13 @@ class AppConfigHelper { | ||
| 55 | static void _clearUserData() { | 56 | static void _clearUserData() { |
| 56 | SpUtil.getInstance().remove(SpConst.prefsKeyAgreementAccepted); | 57 | SpUtil.getInstance().remove(SpConst.prefsKeyAgreementAccepted); |
| 57 | } | 58 | } |
| 59 | + | ||
| 60 | + static void exitApp() { | ||
| 61 | + if (Platform.isIOS) { | ||
| 62 | + exit(0); | ||
| 63 | + } else { | ||
| 64 | + //此种方式在IOS上不生效 | ||
| 65 | + SystemNavigator.pop(); | ||
| 66 | + } | ||
| 67 | + } | ||
| 58 | } | 68 | } |
lib/common/permission/permissionRequestPage.dart
| 1 | import 'dart:io'; | 1 | import 'dart:io'; |
| 2 | import 'package:flutter/material.dart'; | 2 | import 'package:flutter/material.dart'; |
| 3 | -import 'package:flutter/services.dart'; | ||
| 4 | import 'package:permission_handler/permission_handler.dart'; | 3 | import 'package:permission_handler/permission_handler.dart'; |
| 4 | +import 'package:wow_english/common/core/app_config_helper.dart'; | ||
| 5 | 5 | ||
| 6 | import '../../utils/log_util.dart'; | 6 | import '../../utils/log_util.dart'; |
| 7 | 7 | ||
| @@ -167,7 +167,7 @@ class _PermissionRequestPageState extends State<PermissionRequestPage> | @@ -167,7 +167,7 @@ class _PermissionRequestPageState extends State<PermissionRequestPage> | ||
| 167 | 167 | ||
| 168 | /// 退出应用程序 | 168 | /// 退出应用程序 |
| 169 | void _quitApp() { | 169 | void _quitApp() { |
| 170 | - SystemChannels.platform.invokeMethod("SystemNavigator.pop"); | 170 | + AppConfigHelper.exitApp(); |
| 171 | } | 171 | } |
| 172 | 172 | ||
| 173 | /// 关闭整个权限申请页面 | 173 | /// 关闭整个权限申请页面 |
lib/pages/moduleSelect/view.dart
| @@ -188,7 +188,7 @@ class _HomePageView extends StatelessWidget { | @@ -188,7 +188,7 @@ class _HomePageView extends StatelessWidget { | ||
| 188 | onPressed: () => | 188 | onPressed: () => |
| 189 | { | 189 | { |
| 190 | if (forcedUpgrade) { | 190 | if (forcedUpgrade) { |
| 191 | - SystemNavigator.pop() | 191 | + AppConfigHelper.exitApp() |
| 192 | } else | 192 | } else |
| 193 | { | 193 | { |
| 194 | Navigator.of(context).pop() | 194 | Navigator.of(context).pop() |