Android USB HID声称和释放大量传输接口是必要的吗?

时间:2014-10-29 23:13:51

标签: android usb hid

我现在正在从Android USB HID主机与设备进行通信。我在同一个界面中有一个读取端口和一个写入端点。在Android主机上我做

UsbInterface        Intf       = _usbDevice.getInterface(0);
UsbEndpoint         Ep         = Intf.getEndpoint(1);
UsbDeviceConnection Connection = _usbManager.openDevice(_usbDevice);

Connection.claimInterface(Intf, true);

Connection.bulkTransfer(Ep, data, data.length, 0);

Connection.releaseInterface(Intf);
Connection.close();

因此,我写作:声称界面 - >转移 - >发布界面 - >靠近

为了阅读我在另一个线程中也这样做。

每次在两个端点之一(同一接口中的两个端点)上进行读取或写入时,是否需要打开,声明,释放和关闭接口?或者我可以在程序的开始和结束时打开,声明,发布和关闭程序,并在程序生命周期内读取和写入端点,而不是每次都在批量传输时声明和释放?

1 个答案:

答案 0 :(得分:1)

在我的情况下(LG G4,Android 5. *)我已经定义了所有需要对象的私有静态(UsbDeviceConnection,UsbEndpoint,UsbInterface等)。

我正在完成Android在usb host page上写的整个进度。

在初始化进度之后,我只在端点使用queue()和requestWait()与初始化设备通信,直到用户释放设备。

因此,我认为您不需要经常发布已发布的链:声明界面 - >转移 - >发布界面 - >关闭...

相关问题