2012-10-12 78 views
4

我正在C#中編寫Windows窗體應用程序,並且要將文件從C:\驅動器上的目錄複製到「Computer \ SPH-D710 \ Phone \ Music」目錄中我的Android手機。我剛剛從Windows資源管理器複製並粘貼到這篇文章的音樂路徑,但C#無法將其識別爲有效的目錄,可能是因爲沒有「C:\」之類。在C#中將文件寫入Android#

什麼是可以將文件寫入Android的C#命令?

+1

你使用海量存儲模式還是其他一些MTP或其他? – lahsrah

+0

你有沒有想過這個?現在大容量存儲已經不存在了,我也面臨同樣的問題。 – egfconnor

回答

0

用於存儲文件的.NET庫並不真正關心它們保存文件的位置。您的Android設備被視爲USB存儲設備(只要USB存儲設備是從電話的角度開啓的!)。我建議您將一些C#代碼放在一起,這樣我們就可以在運行的例程中發現一個錯誤,以便將文件實際保存到手機中。

作爲一個簡單的例子 - 你的C#代碼可能會希望是這個樣子:

string filePath = @"G:\Music\MySong.mp3"; 
System.IO.File.WriteAllBytes(filePath, mp3FileContent); 
+2

不支持Android 3.x USB海量存儲。 – egfconnor

1

看來你的手機連接爲MTP設備(媒體傳輸協議)。它不像文件系統訪問(USB大容量存儲)那麼簡單。閱讀這些關於如何做到這一點的博客系列,它不是一個簡單的文件副本。

http://blogs.msdn.com/b/dimeby8/archive/2006/10/04/sending-mtp-commands-through-wpd-_2800_part-1_2900_.aspx

http://blogs.msdn.com/b/dimeby8/archive/2006/10/13/sending-mtp-commands-through-wpd-part-2-data-to-the-device.aspx

http://blogs.msdn.com/b/dimeby8/archive/2006/10/16/sending-mtp-commands-through-wpd-part-3-data-from-device.aspx

當心你會潛入一些這方面的非託管代碼。