Flutter 如何根据流事件自动弹出页面?

Flutter How to Pop out page automatically according to stream event?

我想在音频流停止时弹出一个音乐播放器页面。但我收到类似

的错误
Unhandled Exception: Looking up a deactivated widget's ancestor is unsafe

这是我在返回脚手架之前放置在构建方法中的代码。

AudioService.playbackStateStream.listen((event) {
      if (event?.processingState == AudioProcessingState.stopped) {
        
        try {
          final modal = ModalRoute.of(context);
          if (modal.isCurrent) {
            Navigator.of(context).pop();
          }
        } catch (e) {
          print("exception error in player adv $e");
        }
      }
    });

尝试将其移动到 initState() 每次重建小部件时,可能都会添加侦听器,因此您最终会拥有多个侦听器,并且在触发时会多次调用 pop