diff --git a/lib/talk/starChart/star_chart_manage.dart b/lib/talk/starChart/star_chart_manage.dart index 7f60fc25..0e0e9eb8 100644 --- a/lib/talk/starChart/star_chart_manage.dart +++ b/lib/talk/starChart/star_chart_manage.dart @@ -595,27 +595,31 @@ class StartChartManage { // 发送拒绝接听消息 void startTalkRejectMessageTimer() async { - talkRejectTimer ??= Timer.periodic( - Duration(seconds: _defaultIntervalTime), - (Timer timer) async { - _sendTalkRejectMessage(); - }, - ); + try { + talkRejectTimer ??= Timer.periodic( + Duration(seconds: _defaultIntervalTime), + (Timer timer) async { + _sendTalkRejectMessage(); + }, + ); + } catch (e) { + AppLog.log("startTalkRejectMessageTimer e:${e}"); + } finally { + // 设置状态为拒绝 + StartChartTalkStatus.instance.setRejected(); + // 停止播放铃声 + AudioPlayerManager().stopRingtone(); + // 停止发送通话保持消息、通话预期数据请求 + stopTalkExpectMessageTimer(); + stopTalkPingMessageTimer(); + stopCallRequestMessageTimer(); + stopSendingRbcuInfoMessages(); + stopSendingRbcuProBeMessages(); + // 取消定时器 - // 设置状态为拒绝 - StartChartTalkStatus.instance.setRejected(); - // 停止播放铃声 - AudioPlayerManager().stopRingtone(); - // 停止发送通话保持消息、通话预期数据请求 - stopTalkExpectMessageTimer(); - stopTalkPingMessageTimer(); - stopCallRequestMessageTimer(); - stopSendingRbcuInfoMessages(); - stopSendingRbcuProBeMessages(); - // 取消定时器 - - talkePingOverTimeTimerManager.cancel(); - talkDataOverTimeTimerManager.cancel(); + talkePingOverTimeTimerManager.cancel(); + talkDataOverTimeTimerManager.cancel(); + } } // 发送期望接受消息