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上的文件。
本文介绍如何在C#环境下,使用MediaDevices库通过USB连接读取和操作手机上的文件。主要内容包括:环境搭建(VS2019,dotnet 4.5+),创建WinForm项目并安装Nuget包,以及MediaDevices基本使用示例,如读取手机文件到PC。
4575





