使用USB将文件发送到计算机系统

时间:2013-09-04 13:42:11

标签: android usb file-transfer

我有这样的要求,我必须在计算机系统上传输文件,让我们考虑一下Windows PC。

我想要做的是我有一个具有特定细节的屏幕,我在一个文本文件中写入这些值,现在如果用户点击按钮,则必须使用USB将该文件复制到特定位置的计算机。

我试图搜索这个,但没有得到任何有用的东西。我也参考下面的链接

http://developer.android.com/guide/topics/connectivity/usb/host.html

在Android中是否可以,我如何与Windows系统进行通信?

此致

更新:

我可以使用adb

将文件复制到计算机
./adb -s emulator-5554 pull /sdcard/juned.jpg /root/juned/android_usb/

但我可以从Android应用程序做同样的事情吗?

2 个答案:

答案 0 :(得分:0)

我认为你的问题不是很具体,无法回答。但要解释一下,请考虑以下几点:

  • 你必须将你的Android设备转为USB主机模式才能枚举连接的USB设备
  • 建立与接收设备的连接。可能这将是具有已知端点配置的存储或驱动器
  • 建立后,使用bulkTransfer(UsbEndpoint endpoint, byte[] buffer, int offset, int length, int timeout),之类的函数,该函数也会在您提供的链接中记录。请记住选择正确的端点(存储/驱动器的方向)

这只是一个让你入门的草图。很明显,还有很多工作要做..

答案 1 :(得分:0)

USB可能不太适合您想要做的事情。

USB是不对称的,即USB连接的一端有主机,另一端有外围设备。 (例如,当您将USB记忆棒插入PC时,PC是主机,而记忆棒是外围设备。)主机启动并控制数据传输。

Android手机通常充当外围设备。从Android 3.1开始,手机也可以充当USB主机,但并非所有手机都支持此功能。

为了实现您的目标,PC需要运行一个软件,将其从主机模式更改为外围模式,并暴露某种类型的存储,然后Android设备可以写入。

也许蓝牙对您来说是更好的选择。只要文件发生变化,您就可以通过蓝牙启动文件传输。廉价的USB蓝牙适配器适用于没有蓝牙支持的PC。如果您想在PC上自动接受文件传输请求,您可能仍需要在PC上安装某些软件。