首页 > 解决方案 > 如何在 C# 中将数据写入 android 文件?

问题描述

当我尝试使用 MTP(媒体传输协议)打开文件进行写入时。

它给了我错误“值不在预期范围内”。

IPortableDeviceResources resources;
file.content.Transfer(out resources);

file.parentDevice.Connect();

PortableDeviceApiLib.IStream wpdStream;
uint optimalTransferSize = 0;

resources.GetStream(file.Id, 
ref PortableDeviceConstants.WPD_RESOURCE_DEFAULT, 
PortableDeviceConstants.STGM_WRITE, 
ref optimalTransferSize, 
out wpdStream);

GetStream它在调用时抛出错误。

每当我STGM_READ用于读取访问时。

它工作得很好,但它不适用于STGM_WRITESTGM_READWRITE访问。

当我查看别人在 github 上复制文件的方法时。他们从不使用STGM_WRITE,而是删除原始文件并重新创建CreateObjectWithPropertiesAndData用于获取流的文件。

那么如何使用 MTP 写入现有文件呢?

标签: c#androidfileusbmtp

解决方案


推荐阅读