Файл 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»