Parcourir la source

[fix]优化录音服务未启动时不替换通知

zk il y a 1 an
Parent
commit
115fb9ec91
1 fichiers modifiés avec 6 ajouts et 4 suppressions
  1. 6 4
      lib/module/record/record_handler.dart

+ 6 - 4
lib/module/record/record_handler.dart

@@ -66,8 +66,9 @@ class RecordHandler {
 
   void _initRecordDurationStream() {
     _currentDurationListener?.cancel();
-    _currentDurationListener = currentDuration.listen((event) {
-      if (currentStatus.value == RecordStatus.pending) {
+    _currentDurationListener = currentDuration.listen((event) async {
+      if (currentStatus.value == RecordStatus.pending ||
+          !await FlutterForegroundTask.isRunningService) {
         return;
       }
       NotificationUtil.showRecordNotification(
@@ -156,9 +157,10 @@ class RecordHandler {
     }
   }
 
-  void _changeRecordStatus(RecordStatus status) {
+  void _changeRecordStatus(RecordStatus status) async {
     currentStatus.value = status;
-    if (status == RecordStatus.pending) {
+    if (status == RecordStatus.pending ||
+        !await FlutterForegroundTask.isRunningService) {
       return;
     }
     NotificationUtil.showRecordNotification(