Документы пути папки Расходы между версией Android (9 et 15)Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Документы пути папки Расходы между версией Android (9 et 15)

Сообщение Anonymous »

Я нахожусь в тестировании этапа моего приложения Maui, и у меня есть проблема при тестировании на эмулированном Android 9 (API 28).
Я тестировал и исправлял свой код на последней версии Android (Android 15, API 35), а затем загружал мой APK на мой телефон, который находится под Android 9 (мой старый, но все еще функционирует S8+).
и у меня была проблема Android 9 (мой старый, но все еще функционирую S8). Решил создать еще одно эмулированное устройство Android под Visual Studio и создать API Android 9 28 One.
Я затем добавляю немного журнала/трассировки в мой код, чтобы облегчить отладку и обнаружил, что расхождение, вызывающее проблему.

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

FileSaverResult? savedFile;
using var memoryStream = new MemoryStream();

savedFile = await _fileSaver.SaveAsync(Path.GetDirectoryName(fullPath), Path.GetFileName(fullPath), memoryStream, cancellationToken);

memoryStream.Dispose();

if (savedFile == default || !savedFile.IsSuccessful ||savedFile.FilePath == default)
return;

DiagnosticsUtility.WriteLine($" --- Picked save file is : {savedFile.FilePath}");
DiagnosticsUtility.WriteLine($" --- File exist ? {File.Exists(savedFile.FilePath)}");
DiagnosticsUtility.WriteLine($" --- Directory exist ? {Directory.Exists(Path.GetDirectoryName(savedFile.FilePath))}");
< /code>
А вот журнал: < /p>

Android 15 (API 35) < /p>
< /blockquote>
 --- Picked save file is : /storage/emulated/0/Documents/LotoRelease/Loto.json
--- File exist ? True
--- Directory exist ? True
< /code>

Android 9 (API 28) < /p>
< /blockquote>
 --- Picked save file is : /storage/home/LotoRelease/Loto.json
--- File exist ? False
--- Directory exist ? False
Итак, возвращаемый путь на Android 9 (API 28) для документов папка/storage/home , который не считается существующим?! Обратите внимание, что если вместо этого выберите папку загрузки , то у меня есть одинаковая, правильная, Result/storage/emulate/0/download на обе эмулированные версии Android (9 и 15).
Поскольку я хочу предложить пользователю моему приложению, чтобы сохранить/загрузить в любую папку, которую они хотят, и не только в папке Code>, как я могу получить правильную папку и PREAL, и PROILE, и PRILI -leo, и PREAD, и PREAIL, и PREAIL. /> Я выполнил поиск в Google для < /p>

" /hore /home" + android < /p>
< /blockquote>
Но не нашел результат. Что это за/horese/home path?
Я не хочу жесткого кода за замену каждого пути на/home to/emulation/0/documents , я бы предпочел более общее решение.

Подробнее здесь: https://stackoverflow.com/questions/797 ... on-9-et-15
Ответить

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

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

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

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

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