我必须要求用户选择一个位置并使用自定义扩展名(.tdr)保存文件。我已将intent.setType设置为 /,但当前我必须在不使用任何扩展名的情况下保存文件。有人能帮助我解决这个问题吗?
下面是我的代码示例
Intent intent = new Intent();
intent.SetType("*/*");
intent.PutExtra(Intent.ExtraAllowMultiple, false);
intent.SetAction(Intent.ActionCreateDocument);
MainActivity.Instance.persistentStorageService.Write("DataToWrite", projectJson);
MainActivity.Instance.StartActivityForResult(Intent.CreateChooser(intent, "Save TRW Project File"), RequestCodeConstants.FilePickerSaveRequestCode);
在MainActivity.cs中
System.IO.Stream output = ContentResolver.OpenOutputStream(data.Data);
var dataToWrite = persistentStorageService.Read("DataToWrite", typeof(string));
var buffer = Encoding.ASCII.GetBytes((string)dataToWrite);
output.Write(buffer, 0, buffer.Length);
output.Close();
result = buffer;
我想以自定义扩展名保存文件。
1条答案
按热度按时间23c0lvtd1#
问题是MimeType,需要将其设置为八位字节以自定义文件类型:
一旦你做了这一切,你需要做的是StartActivityForResult,你就完成了。
确保扩展名类型是文件名本身的一部分,也可以通过Intent指定扩展名类型