我开发了一个Android应用程序,它连接到外部USB设备以发送和接收消息。
我遵循官方Android主机USB API的指导原则(以及其他一些SO帖子): https://developer.android.com/guide/topics/connectivity/usb/host.html
除了一件事,一切正常: 当我的应用程序未连接时,外部USB设备似乎正在发送数据,导致USB缓冲区溢出 - 这会停止设备。
根据设备制造商的说法,解决方案是启用DTR / DTE(我不得不承认我并不真正理解它是什么)。但这显然可以让他们检查我的应用是否正在收听,然后才发送他们的数据。
那么,请您分享一下如何在Android USB连接上启用DTR / DTE的代码示例?
更新
经过一些搜索后,我似乎需要使用 UsbDeviceConnection.controlTransfer 方法 - 但我不知道参数应该是什么。
答案 0 :(得分:0)
我终于找到了答案:
connection.controlTransfer(0x21, 0x22, 0x1, 0, null, 0, 0);
我在这里找到了它:Android USB host read from device