1

我正在使用必须使用 RFID 标签阅读器的 Android 应用程序。我将此阅读器用作通过 OTG 线连接到我的 microUSB 中的额外设备。Android 正在将此设备检测为输入键盘。我想知道我是否可以以编程方式检测用户何时使用此阅读器进行输入。所以基本上我必须区分我的软键盘或这个阅读器的输入。我进行了很多搜索,但找不到解决方案,任何帮助将不胜感激。非常感谢你。

4

2 回答 2

1
yourEditText.setOnKeyListener(new View.OnKeyListener() {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            return false;
        }
    });

这将检测您的 editText 是否正在使用硬件键盘进行编辑。

如此处所述 这仅对硬件键盘有用,因此在您的情况下,如果未调用此接口,则意味着 editText 输入应来自软件键盘。

于 2015-04-21T11:29:03.517 回答
0

在 kotlin 中,我使用 KeyEvent 来确定输入是否来自外部 RFID 标签阅读器。当我不想允许从 RFID 阅读器向 edit_text 插入值时,我正在使用这个:

edit_text.setOnKeyListener { _, _, event -> !event.device.isVirtual }

另请参阅文档并尝试将其用于您的问题

于 2020-07-02T11:04:52.990 回答