2013-04-03 154 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/

相關問題