android usb requestWait不返回

标签 android request

ByteBuffer byteBuffer = ByteBuffer.allocate(9);;    
UsbRequest request = new UsbRequest();
request.initialize(mConnection,mEndpointIntr);
boolean b = request.queue(byteBuffer, 9);
Log.d(TAG, "start the request wait");
UsbRequest ur = mConnection.requestWait();

我想使用 Android USB 中断。上面的代码是一个从我自己的USB板接收数据的线程。但是当我尝试调用 UsbRequest ur = mConnection.requestWait(); 时,该函数没有返回,它总是遇到 requestWait()。为什么会这样?

最佳答案

代码中的 requestWait() 将等待 request.queue(byteBuffer, 9) 的结果

以下是它未返回的一些可能原因:

  1. 您的请求队列与您的 USB 设备实际发送数据的端点不同。仔细检查您是否在正确的接口(interface)和端点上收听。

  2. 在 USB 设备固件端,不要在 HID 等通用接口(interface)类上创建中断端点。创建一个新的供应商特定接口(interface),否则如果它是 HID,内核可能会获取该接口(interface)并且请求队列可能会失败,这就是我遇到的情况。

关于android usb requestWait不返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12781807/

相关文章:

java - 如何请求访问 android M. 上的图库的权限?

android - 以编程方式将我的应用程序添加到android中的AutoStart应用程序列表

android - 如何用Delphi XE5制作安卓动态壁纸?

xml - JSONP 意外 token <

node.js - 对公共(public) api 的 Node https get 请求导致错误 : CERT_UNTRUSTED

java - Android Lollipop 中的服务似乎随机消失,没有错误

ios - 在将值发布到服务器之前显示 HUD

node.js - 当 'selfHandleResponse' 为真时,如何传递代理响应?

java - HTTP 请求(使用 SSL)JAVA 与 AJAX

java - 返回按钮编辑操作