首页 > 解决方案 > 当我们使用返回按钮返回屏幕时如何再次收听流媒体?

问题描述

我正在收听扫描二维码的流。当检测到数据时,应用导航到另一个屏幕以显示数据。但是当我通过按返回按钮返回扫描屏幕时,我无法弄清楚如何再次收听流媒体。

  void _onQRViewCreated(QRViewController controller) {
    setState(() {
      this.controller = controller;
    });
    streamSubscription = controller.scannedDataStream.listen((scanData) async {
      result = scanData;

      if (result != null) {
        await goto();
      }

    });
  }

  void goto() async {
    await streamSubscription.pause();
    Navigator.pushNamed(context, '/history');
  }

标签: flutterflutter-layoutqr-codeflutter-dependencies

解决方案


在第二页使用Navigator.of(context).pop(true)

在您的第一页使用

bool back = await Navigator.pushNamed(context, '/history');

回听流行音乐,然后使用

if (back) {
    call your stream listener()
}

推荐阅读