我正在使用Android USB 主机模式并希望执行异步批量传输。到目前为止,我已经成功地使用了同步批量传输,但是在掌握异步传输的各个部分是如何组合在一起时遇到了一些麻烦。从UsbRequest文档(我的粗体):
批量端点上的请求可以通过 bulkTransfer(UsbEndpoint, byte[], int, int) 同步发送,也可以通过queue(ByteBuffer, int)和requestWait() [a UsbDeviceConnection 方法]异步发送。
好的,这是否意味着我从现有的执行线程调用 queue(),然后在另一个线程的其他地方调用 requestWait()?当请求完成时,requestWait() 从哪里获取我的逻辑来执行?我所做的大部分异步工作都是使用 Javascript 和 Python 等语言进行的,通常通过将回调函数作为参数传递。在 Java 中,我可能会传递一个实现特定方法的对象作为回调,但我看不到任何地方发生这种情况。也许我对整个事情的心理模型是错误的。
有人可以提供一个发送异步批量传输的孤立示例吗?