Flutter - 通过整个应用程序聆听一个值
Flutter - Listening to one value through whole app
我正在使用 EventChannel 来处理来自硬件条码扫描器的事件。 EventChannel 在 initState 中初始化,在 main class 中 - 它在整个应用程序中工作。当检测到更改时,它将值插入全局变量(ValueNotifier - 我不知道它是否正确)然后我需要在多个小部件中使用该值。我需要某种小部件,它会告诉我该值已更新,并且会触发 onEvent 函数——类似于 RawKeyboardListener。我尝试使用侦听器,但是当我执行 pushNamed 时,侦听器仍在侦听并且它在扫描时运行前几页的代码。
有没有适合我的插件? (不能使用 ValueListenableBuilder,因为它没有“onEvent”功能)或者有什么方法可以在页面之间移动时或打开模式底部 sheet 时删除和添加侦听器? (我需要在 Navigator.pop 之后访问以前的听众)
我通过使用监听器和 ModalRoute.of(context).isCurrent.
解决了我的问题
我正在使用 EventChannel 来处理来自硬件条码扫描器的事件。 EventChannel 在 initState 中初始化,在 main class 中 - 它在整个应用程序中工作。当检测到更改时,它将值插入全局变量(ValueNotifier - 我不知道它是否正确)然后我需要在多个小部件中使用该值。我需要某种小部件,它会告诉我该值已更新,并且会触发 onEvent 函数——类似于 RawKeyboardListener。我尝试使用侦听器,但是当我执行 pushNamed 时,侦听器仍在侦听并且它在扫描时运行前几页的代码。
有没有适合我的插件? (不能使用 ValueListenableBuilder,因为它没有“onEvent”功能)或者有什么方法可以在页面之间移动时或打开模式底部 sheet 时删除和添加侦听器? (我需要在 Navigator.pop 之后访问以前的听众)
我通过使用监听器和 ModalRoute.of(context).isCurrent.
解决了我的问题