使用Usb主机Api在两部Android手机之间传输数据

时间:2016-01-14 05:45:20

标签: android usb host

我正在尝试将一些Android手机(Nexus 5)的数据发送到Android平板电脑(三星标签4)。

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

我的问题是如何在另一端验证(在三星标签处),是的我收到了从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
   );

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

1 个答案:

答案 0 :(得分:-1)

在挖掘 Usb Host API 之后,我发现另一端(Samsung Tab)可以在附件模式中工作,我们可以访问 Usb主机(Nexus 5)使用“android.hardware.usb.accessory”库。

由于支持 Usb主机功能的Android手机,例如 Nexus 5 ,可以使用“android.hardware.usb访问与其连接的设备.host“库。

另一个例如三星标签(必须支持AOAP Protocol谁不支持 Usb主机功能将访问使用它连接的设备“android.hardware.usb.accessory”库。

要了解“Usb主机”功能,您可以打开链接 http://developer.android.com/guide/topics/connectivity/usb/host.html

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