我正在使用似乎输出到标准输入的磁条阅读器。当我将它插入我的Android设备时,打开一个记事本应用程序,然后滑动,它会自动将一个字符串粘贴到应用程序,就像我输入它一样。 (因此我认为它为什么输出到标准IO)。我想以编程方式读取数据。如何访问android的标准IO?
我尝试过使用System.in的Scanner和System.in的InputStream,但我没有得到任何结果。
答案 0 :(得分:0)
这不会通过标准输入工作。这对Android应用程序没有意义(stdin,stdout和stderr存在,但通常不使用)。
相反,Android拥有自己的输入处理结构,例如:
https://source.android.com/devices/input/overview.html
有可能你的读者是一个USB HID设备,android正在处理类似于物理键盘的东西,并处理输入字符,好像它们是键入的关键事件一样。
当您的应用处于前台时,正常的Android应用输入处理方法(关键事件,对焦点文本字段的输入等)将捕获这一点。如果不是,您可能无法为应用保留输入,除非您可以修改Android安装,或将您的设备更改为自定义非HID外围设备。