C#中通过USB操作手机文件
一 系统环境
1.开发工具:vs2019
2. dotnet版本:4.5及以上
3. Nuget包:MediaDevices
二 创建测试项目
1.创建一个winform窗体程序,在默认窗体上拖放一个button控件
2.在“工具”选项中找到Nuget包管理器
在“浏览”界面搜索我们需要使用的 MediaDevices 程序集,安装即可。
安装完成之后,winform项目的引用集中会出现该程序集,说明安装引用正确
三 MediaDevices 的简单使用
1.使用MediaDevices 读取便携式设备(WPD或MTP),
List<MediaDevice> MediaDeviceList = MediaDevice.GetDevices() as List<MediaDevice>;
设置断点查看 MediaDeviceList 变量,即可看到自己的手机设备。
注意:将手机连接状态更改为文件传输模式才可读取到。
下面是一个将WPD上的文件读取到PC的一个简单例子。
//读取WPD设备列表
List<MediaDevice> MediaDeviceList = MediaDevice.GetDevices() as List<MediaDevice>;
//筛选WPD设备
using (var driver = MediaDeviceList.First(t => t.Description == "OPPO"))
{
//连接设备
driver.Connect();
//读取WPD指定路径的文件
MediaFileInfo file =driver.GetFileInfo(@"内部共享存储空间\data.json");
//下载WPD上的文件到PC的指定位置
FileStream fileStream = File.Create(@"C:\\data.json"); //创建流对象
driver.DownloadFile(@"内部共享存储空间\data.json", fileStream); //将数据读取到流中
fileStream.Flush(); //写入
fileStream.Close(); //关闭流
}
MediaDevices程序集可以提供很多其他操作,包括文件内容的读取,删除,创建等一系列操作,可以帮助我们更方便的操作WPD上的文件。