Файл MAUI не отображается после сохранения до перезагрузки на одном телефоне, один и тот же код работает на разных телефAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Файл MAUI не отображается после сохранения до перезагрузки на одном телефоне, один и тот же код работает на разных телеф

Сообщение Anonymous »

Я разрабатываю приложение в .NET 7.0 MAUI. В основном тестирую его на своем телефоне, и оно работает нормально.
Я получил уведомление о проблеме с успешным сохранением файла (исключение не выдается), но файл невозможно просмотреть или получить к нему доступ (пробовал как с ПК через USB, так и с устройства через встроенный файловый менеджер). После перезагрузки файл устройства оказывается на своем месте, и к нему можно получить доступ.
Я проверил его на втором телефоне, и он тоже работал нормально.
На устройстве он там не работает. не было ошибок или даже предупреждений в режиме отладки для этого сегмента сохранения файла.
Мой телефон: Xiaomi Mi Note 10 Lite, Android 12 - работает
Второй телефон: Redmi Note 12, Android 14 – работает
Целевое устройство: NLS-MT37, Android 8.1 – не работает
Мои настройки манифеста Android: Код, отвечающий за сохранение файла (упрощенно):

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

public async Task SaveData(){
Log.Information("Data save initiated by user.");
try{
using (MemoryStream memoryStream = new MemoryStream())
using (StreamWriter writer = new StreamWriter(memoryStream, Encoding.Default)){
writer.WriteLine("header");
foreach (var line in lines)
{
writer.WriteLine($"write line info");
}
writer.Flush();
memoryStream.Seek(0, SeekOrigin.Begin);
#if ANDROID
string downloadsDir = Android.OS.Environment.GetExternalStoragePublicDirectory(Android.OS.Environment.DirectoryDownloads).AbsolutePath;
var filePath = Path.Combine(downloadsDir, fileName);
await File.WriteAllBytesAsync(filePath, memoryStream.ToArray(), cancellationTokenSource.Token);
await App.Current.MainPage.DisplayAlert("alert title", "alert success info", "ok");
#endif
}
}catch(Exception exc) {
//log exception and display error message
}
}
Этот код просто привязывается к нажатию кнопки.
Для проверки я отозвал права доступа к хранилищу файлов на всех устройствах и получил исключение на всех из них.
Что я делаю неправильно? Это из-за какой-то ошибки в более старой версии Android или, возможно, версии, используемой на целевом устройстве? У меня нет старого телефона Android, с которым можно было бы сравнивать.

Подробнее здесь: https://stackoverflow.com/questions/788 ... de-working
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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