如何在两个屏幕上收听一个流

how to listen to one stream on two screens

错误:错误状态:流已被收听。 我有一个屏幕,其中有一个 StreamBuilder 正在收听流,我想在另一个屏幕上收听相同的流,但它给出了一个错误,我尝试这样收听(我使用卡将流存储在提供者中并通过密钥访问,因为我不想复制一些代码):

final stream = objectStateInfoModelProvider.objectStateInfoProvider[obj]!
        .asBroadcastStream(
      onListen: (subscription) async {
        subscription.resume();
      },
    );
    stream.listen(
      (event) {
        setState(() {
          dataFromStream = event;
        });
      },
    );

根据评论的建议,我在外面做了一个广播流,一切正常:

final broadcastStream = stream.asBroadcastStream(
      onCancel: (subscription) {
        subscription.pause();
      },
      onListen: (subscription) {
        subscription.resume();
      },
    );