c# - 如何在 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_WRITE
或STGM_READWRITE
访问。
当我查看别人在 github 上复制文件的方法时。他们从不使用STGM_WRITE
,而是删除原始文件并重新创建CreateObjectWithPropertiesAndData
用于获取流的文件。
那么如何使用 MTP 写入现有文件呢?
解决方案
推荐阅读
- xml - XSD 中元素的复杂值和该元素的属性的同时“完全”描述
- python - 为什么我在 discord.py 中的 bot.command 函数不起作用?
- python - Django 表单模板转义
- sql - Oracle 对象关系数据库 ORA-00979:不是 GROUP BY 表达式
- c++ - 类上的 C++ 属性似乎已重新初始化
- c# - BackgroundService .net 核心中 ExecuteAsync 和 StartAsync 方法之间的区别
- python - MongoEngine 中嵌套嵌入文档的验证错误
- python - 如何找到模型精度 Faster_rcnn_inception_v2?
- r - R - 保留至少有两个非缺失值的行(tidyverse)
- node.js - Node.js - 如何组织环境变量