2012-10-12 42 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

当心你会潜入一些这方面的非托管代码。