flutter PDA 扫描自动回车,但是不会触发RawKeyboardListener的onKey事件

新手上路,请多包涵

image.png
代码如上,PDA设置了扫描就触发回车事件,但是代码并没有进入onkey事件当中,PDA的实体键盘发现是能进入的,这是什么问题啊。

阅读 6.3k
2 个回答

下面是我的解决方案,TextField中的onSubmitted事件去除,但是这里有一个问题我没有解决:扫描时有时会丢失部分数据,不如完整二维码数据:SAP202008010030,扫描时有可能会出现SAP2020或者SAP2020080100等,希望能帮到你,也希望你能帮我解决我这个问题

new RawKeyboardListener(
      focusNode: new FocusNode(), // 焦点
      onKey: (RawKeyEvent event) {
        if (event.runtimeType.toString() == Config.RawKeyDownEvent &&
            event.data is RawKeyEventDataAndroid) {
          RawKeyEventDataAndroid eventData = event.data;
          LogUtils.e('键盘', eventData.keyCode.toString());
          if ((eventData.keyCode == 66 ||
                  eventData.keyCode == 102 ||
                  eventData.keyCode == 103 ||
                  eventData.keyCode == 104) &&
              controller.text.isNotEmpty &&
              ModalRoute.of(context).isCurrent) {
            
            focusNode.unfocus();
            ///doing...做onSubmitted里的内容
          }
        }
      },
      child: new TextField(
            focusNode: focusNode,
      ...),)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题