外部键盘事件处理程序停止响应

时间:2020-06-26 10:26:00

标签: android react-native keyboard

我一直在研究一个项目,该项目需要从应用程序中任何位置的外部键盘(实际上是手持式条形码扫描仪)捕获击键。使用react-native,这应该是微不足道的,尤其是对于库react-native-keyevent

在初始负载下完美工作。然后,我导航到应用程序的另一部分(使用react-navigation)并尝试扫描条形码。没发生什么事。我用一些简单的react-native-keyevent替换了MainActivity.java覆盖Log.d("KeyEvents", "..."),覆盖了dispatchKeyEventonKeyUponKeyMultipleonKeyDown。我只登录,然后叫超级。

相同的行为。记录良好,直到我导航,然后停止。在研究了Android文档之后,Views似乎可以覆盖键处理程序,从而“窃取”键击。但是,我一直坚持要找出哪个视图会成为焦点。同样,默认情况下,react-native中实际上没有键盘处理功能,因此据我了解,所有内容都应传递给活动。

我无所事事地在反应本机代码库中徘徊,偶然发现TVEventHandler,如果视图请求焦点,我用它记录日志:

import TVEventHandler from 'react-native/Libraries/Components/AppleTV/TVEventHandler';

(new TVEventHandler).enable('foo', function(){
    console.log(arguments);
})

在处理程序停止工作之前,此行确实记录了一些带有视图标签的focus事件。但是,我不知道如何找出具有特定标签的视图。

有人可以向我指出正确的方向吗?

0 个答案:

没有答案