.NET MAUI: проблемы с записью в файл в эмуляторе Android с помощью отладчикаAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 .NET MAUI: проблемы с записью в файл в эмуляторе Android с помощью отладчика

Сообщение Anonymous »

Я записываю некоторые данные в файл, который пользователь может выбрать с помощью средства выбора файлов.
Вот мой тестовый код с некоторыми бессмысленными данными:

Код: Выделить всё

private async void DoExportAsync()
{
// write some data to a temporary file
string tempPath = Path.Combine(FileSystem.CacheDirectory, Guid.NewGuid().ToString() + ".tmp");
try
{
using (var writer = new StreamWriter(tempPath))
{
writer.WriteLine("Test");
writer.Flush();
}

// Now copy content to the final file that the user selects
string? finalPath = await FileUtils.SaveFileAsync(tempPath, "PackerData", ".txt");
// Display a message on success
if (finalPath != null)
await App.Current.Windows[0].Page!.DisplayAlert("Export", $"Gespeichert unter:\n{finalPath}", "OK");
}
finally
{
// delete the temporary file
if (File.Exists(tempPath))
File.Delete(tempPath);
}
}
Вызовы FileUtils.SaveFileAsync

Код: Выделить всё

await CommunityToolkit.Maui.Storage.FileSaver.Default.SaveAsync(...)
Когда я отлаживаю этот код, отладчик отключается, когда остается блок using { }. После этого средство выбора файлов все еще появляется и записывает файл, но файл пуст. Мое приложение исчезает с экрана. DisplayAlert не выполняется.
Однако этот код хорошо работает в эмуляторе Android, когда отладчик не подключен. (Я еще не проверял поведение на реальном смартфоне.)
Есть идеи, как обойти эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/797 ... h-debugger
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»