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

Место общения программистов C#
Ответить Пред. темаСлед. тема
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 (9 et 15)
    Anonymous » » в форуме Android
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • C# встроенная функция для получения пути папки Bin, а не папки приложений, такая как Bin \ Debug или Bin \ Release
    Anonymous » » в форуме C#
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • C# встроенная функция для получения пути папки Bin, а не папки приложений, такая как Bin \ Debug или Bin \ Release
    Anonymous » » в форуме C#
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Разница между версией компилятора C# и языковой версией
    Гость » » в форуме C#
    0 Ответы
    74 Просмотры
    Последнее сообщение Гость
  • Разница между версией компилятора C# и языковой версией
    Anonymous » » в форуме C#
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

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