使用 USB 主机 Api 在两部 android 手机之间传输数据

Transfer Data between two android phones using Usb host Api

我正在尝试将一些数据从作为 USB 主机工作的 Android phone(Nexus 5) 发送到 Android 平板电脑 (Samsung Tab 4)。

我正在使用 bulkTransfer() 方法从 Nexus 5 传输数据,它返回已成功传输的数据长度。

我的问题是 我如何在另一端(在 Samsung Tab)验证是的,我正在获取从 Nexus 5 传输的数据?

下面是一些传输数据的代码片段

   usbDeviceConnection = manager.openDevice(device);
   boolean flag =  usbDeviceConnection.claimInterface(usbInterface, true);
   String text = textValue.getText().toString();
   byteArray = text.getBytes();

   //  data transfer
   int a = usbDeviceConnection.bulkTransfer(endpointOut, byteArray, byteArray.length, 0);

   if(a>0){
              textInfo.setText("Data has been transferred successfully..."
                             +"\n"+"Length of data: "+a
   );

请帮我完成这个任务...!

在挖掘 Usb 主机后 API 我发现另一端(Samsung Tab)可以在 Accessory 模式下工作 我们可以使用 "android.hardware.usb.accessory" 库访问 Usb Host(Nexus 5)。

因为 android phone 谁可以支持 Usb Host 功能,例如 Nexus 5 可以使用 "android.hardware.usb.host" 库访问与其连接的设备。

另外一个比如Samsung Tab(必须支持AOAP Protocol)不支持Usb Host功能将使用 "android.hardware.usb.accessory" 库访问与其连接的设备。

要了解 USB 主机功能,您可以打开 link http://developer.android.com/guide/topics/connectivity/usb/host.html

要了解 USB 附件功能,您可以打开 link http://developer.android.com/guide/topics/connectivity/usb/accessory.html