2013-04-03 153 views
6

我正在寻找一种解决方案,它使用Android API通过USB电缆将Android设备上的文本文件传输到计算机。我找到了USB host,但我无法使用它,因为计算机无法充当Android主机的设备。以编程方式将文件从android通过USB传输到计算机

你有什么建议可以实现吗?

+1

你想以编程方式做到这一点吗?或者你只需​​要插入设备并拖放文件? – FoxMulder900 2013-04-03 18:33:07

+0

我想以编程的方式来完成它,正如我在“使用Android API的问题”中提到的那样。 – niculare 2013-04-03 18:34:38

+1

我明白了,我不确定在客户端机器上没有应用程序的情况下这是否可能,否则可能会带来很大的安全风险。 – FoxMulder900 2013-04-03 18:36:24

回答

3

我以adb status-window为设备状态连续检查解决了这个问题,一个新的设备连接时,需要的文件正在使用adb pull命令传输到计算机。

为了实现一个可移植的解决方案(即独立于Android平台运行),我只是将文件'adb.exe'和'AdbWinApi.dll'复制到我的应用程序中,并从那里使用adb。

+0

复制'adb.exe'和'AdbWinApi.dll'文件后应该怎么做?运行这个'Runtime.getRuntime()的 。exec(“adb -s pull /sdcard/juned.jpg/root/juned/android_usb /”);'会没事的,或者我需要做其他事情? – juned 2013-09-14 14:26:36

0

您可以编写一个应用程序,使用http联系您的电脑并发送(POST)数据到已知的终端。

请记住,该应用只能访问属于该应用的数据。您将无法从文件系统访问任意文件。

+1

问题是我不能依靠无线网络连接。我唯一可以依赖的就是USB电缆。 – niculare 2013-04-03 19:16:34

+2

同样在这里...我需要通过USB连接到Windows PC上的数据库。 – Zonata 2013-05-06 22:35:22

2

存在类似的问题,即安装在PC中的软件需要能够通过USB访问android手机内的文件。经过长时间的研究,这对我来说是有效的(不确定这是否是最好的解决方案,但它的工作原理)。 Windows具有Windows便携式设备(WPD)API,可用于通过USB枚举设备的内容(以及在客户端和设备之间复制文件)。

在Java中 http://code.google.com/p/jmtp/少数实现(效果很好,但犯规支持复制功能,从设备到PC,虽然有一些可用的源代码来做到这一点的支持) 另一个是jusbpmp(可在谷歌资料库) (如果有人发现一个良好的文档和维护实现共享)

但由于jmtp没有为我工作(复制函数源编译(对于64位操作系统)失败),编写C#程序从头开始复制文件从设备到PC。这里是一个很好的教程 http://cgeers.com/2011/08/13/wpd-transferring-content/

相关问题