From 48d4081b3eba41af622bead30efb01729a1dcbeb Mon Sep 17 00:00:00 2001 From: liyi Date: Sun, 27 Apr 2025 10:12:34 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E9=80=80=E5=87=BA=E5=90=8E=E5=8F=B0?= =?UTF-8?q?=E6=97=B6=E8=87=AA=E5=8A=A8=E6=8C=82=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/talk/starChart/star_chart_manage.dart | 11 ++++++++++- lib/talk/starChart/status/appLifecycle_observer.dart | 3 +-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/talk/starChart/star_chart_manage.dart b/lib/talk/starChart/star_chart_manage.dart index 66de4aeb..1fb79272 100644 --- a/lib/talk/starChart/star_chart_manage.dart +++ b/lib/talk/starChart/star_chart_manage.dart @@ -1199,6 +1199,16 @@ class StartChartManage { /// 销毁资源 void destruction() async { + // 先挂断 + final status = talkStatus.status; + if (status == TalkStatus.passiveCallWaitingAnswer || + status == TalkStatus.proactivelyCallWaitingAnswer || + status == TalkStatus.answeredSuccessfully || + status == TalkStatus.uninitialized) { + startTalkRejectMessageTimer(); + startTalkHangupMessageTimer(); + await Future.delayed(Duration(seconds: 1)); + } isOnlineStarChartServer = false; // 停止发送心跳消息 stopHeartbeat(); @@ -1226,7 +1236,6 @@ class StartChartManage { await Storage.removerStarChartRegisterNodeInfo(); // 关闭udp服务 closeUdpSocket(); - } /// 重置数据 diff --git a/lib/talk/starChart/status/appLifecycle_observer.dart b/lib/talk/starChart/status/appLifecycle_observer.dart index 37b70152..03a356d1 100644 --- a/lib/talk/starChart/status/appLifecycle_observer.dart +++ b/lib/talk/starChart/status/appLifecycle_observer.dart @@ -30,14 +30,13 @@ class AppLifecycleObserver extends WidgetsBindingObserver { // 处理应用程序进入后台的逻辑 final status = StartChartManage().talkStatus.status; - if (status == TalkStatus.passiveCallWaitingAnswer || status == TalkStatus.proactivelyCallWaitingAnswer || status == TalkStatus.answeredSuccessfully || status == TalkStatus.uninitialized) { - StartChartManage().destruction(); Get.back(); } + StartChartManage().destruction(); } void onAppResumed() async {