加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 指定将文件从Android传输到Windows PC的文件路径是什么?

发布时间:2020-12-15 22:13:40 所属栏目:百科 来源:网络整理
导读:我将创建一个c# windows应用程序,用于将图像文件从 Android手机传输到我的Wondows PC – 当我用手机连接PC时(使用数据线).当我在C#中给出路径“Computer / Nuxes5 / …”以便从移动设备访问文件时(来自Windows资源管理器地址栏).然后得到错误的路径.以下是我
我将创建一个c# windows应用程序,用于将图像文件从 Android手机传输到我的Wondows PC – 当我用手机连接PC时(使用数据线).当我在C#中给出路径“Computer / Nuxes5 / …”以便从移动设备访问文件时(来自Windows资源管理器地址栏).然后得到错误的路径.以下是我为访问文件提供的代码.

Directory.GetFiles(@"Computer/Nuxes5/...");

任何人都可以建议我,如何使用C#访问移动文件.

解决方法

您需要使用MTP文件传输.由于您使用的是Windows,因此最好的办法是将COM与Windows PortableDeviceApiLib库一起使用.这不是一件容易的事.上面其中一条评论中的WPD API链接是一个很好的参考.

您还应该安装Microsoft MTP Simulator 3.0并查看随附的示例代码.

在MTP中,存储在设备上的每个文件或文件夹都是具有句柄的对象.要检索文件或文件夹,您必须检索对象句柄,然后通过检查其objectFormatCode属性来检查它是文件还是文件夹.文件夹的对象格式代码设置为0x3001.您可以从MTP Spec获取整个列表.

一旦设置了WPD / PTP包装器,就可以开始向设备发送MTP命令.要从设备获取文件,过程如下.

>通过调用getStorageIds()获取可用的存储ID;
>对于您感兴趣的存储ID(内部存储/ SD卡),调用getObjectHandles()以获取所有文件/文件夹的列表.
>遍历根文件夹句柄以查找您感兴趣的文件.对于您获得的每个句柄,调用getObjectInfo()以获取有关该句柄的详细信息.
>一旦有了名称和格式代码与您要查找的句柄相匹配的句柄,请调用getObject()函数下载该文件.

另请记住,您无法同时下载所有内容.您必须为需要下载的每个文件句柄调用getObject().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读