Android 安卓USB HID声称和发布BulkTransfer周围的接口有必要吗?

Android 安卓USB HID声称和发布BulkTransfer周围的接口有必要吗?,android,usb,hid,Android,Usb,Hid,我现在正在从Android USB HID主机与设备通信。我在同一个接口中有一个读端点和一个写端点。在安卓主机上,我是这样做的 UsbInterface Intf = _usbDevice.getInterface(0); UsbEndpoint Ep = Intf.getEndpoint(1); UsbDeviceConnection Connection = _usbManager.openDevice(_usbDevice); C

我现在正在从Android USB HID主机与设备通信。我在同一个接口中有一个读端点和一个写端点。在安卓主机上,我是这样做的

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();
所以在写作中,我会这样做:声明接口->传输->释放接口->关闭

对于阅读,我在另一个线程中也这样做

每次在两个端点之一(同一接口中的两个端点)上执行读或写操作时,是否需要打开、声明、释放和关闭接口?或者我可以在程序的开始和结束以及程序生命周期内打开、声明、释放和关闭这些对象,而不必每次在批量传输时声明和释放它们,而是读写到端点?

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

我正在做Android写在他们电脑上的所有进展

初始化完成后,我只在端点使用和requestWait()与初始化的设备通信,直到用户释放设备

因此,我不认为你需要总是做你的张贴链:索赔接口->转移->释放接口->关闭