flutter - 当我们使用返回按钮返回屏幕时如何再次收听流媒体?
问题描述
我正在收听扫描二维码的流。当检测到数据时,应用导航到另一个屏幕以显示数据。但是当我通过按返回按钮返回扫描屏幕时,我无法弄清楚如何再次收听流媒体。
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');
}
解决方案
在第二页使用Navigator.of(context).pop(true)
在您的第一页使用
bool back = await Navigator.pushNamed(context, '/history');
回听流行音乐,然后使用
if (back) {
call your stream listener()
}
推荐阅读
- github - Github Workflow - Cython 模块在相对路径上构建失败
- gradle - Gradle:如何从工件创建分布并重命名工件
- python - 检查 VCF 中的 ALT 字段是尖括号标记还是使用 pyvcf 的尖括号标记列表
- spring - 在 PreHandle 函数中仅处理控制器路由
- angular - 如何使用 rxjs 以角度过滤对象数组
- spring - Tomcat HTTP 状态 404 – 未找到
- matlab - 由 * 完成的矩阵乘法和手工通过组件完成的矩阵乘法之间的差异问题(MATLAB)
- python - 网页抓取时访问被拒绝 403;该怎么办?
- powershell - 如何在 Windows 10 中保存 PowerShell 的状态以便以后继续使用?
- javascript - 递归解码 URL 给出有效 URL 的错误