Перейти к содержанию
  • 0
Владимир Варенков

TPath.GetSharedDownloadsPath в Android 11 не находит файлы

Вопросы

Здравствуйте, форумчане!

Переношу приложение из Delphi 10.3 в Delphi 10.4.2 для возможности его работы на телефонах с Android 11. Столкнулся с проблемой - метод класса TDirectory.GetFiles(System.IOUtils.TPath.GetSharedDownloadsPath, '*TASK*.*' )  не находит файлы, которые находятся в памяти телефона в папке Download (под управлением Android 11), в телефоне под управлением Android 8 файлы находятся без проблем! System.IOUtils.TPath.GetSharedDownloadsPath возвращает в обоих случаях путь "/storage/emulated/0/Download". Что нужно исправить в коде программы, что бы под Android 11 файлы было видно?

С уважением, Владимир

Поделиться сообщением


Ссылка на сообщение

Рекомендуемые сообщения

  • 0

Дело в том, что ты выставил Target SDK 29

Теперь чтобы на Андроид 10, 11 или 12 старым способом иметь доступ к файлам надо объявить явно это в манифесте

Кажется с помощью android:requestLegacyExternalStorage="true"

но лучше погугли.

И вообще в будущем возможно... Гугл зарежут прямой доступ к файлам и придется через медиа-запросы обращаться к файлам.

Поделиться сообщением


Ссылка на сообщение
  • 0

Вот еще почитать на эту тему:

https://developer.android.com/training/data-storage/use-cases

и

https://developer.android.com/about/versions/11/privacy/storage

Цитата

After you update your app to target Android 11 (API level 30), the system ignores the requestLegacyExternalStorage attribute when your app is running on Android 11 devices, so your app must be ready to support scoped storage and to migrate app data for users on those devices

Так что после Target SDK 30 вообще старый код работать не будет... Нужно будет переписывать код работы с файлами.

Поделиться сообщением


Ссылка на сообщение
  • 0
2 часа назад, qz5 сказал:

Дело в том, что ты выставил Target SDK 29

Теперь чтобы на Андроид 10, 11 или 12 старым способом иметь доступ к файлам надо объявить явно это в манифесте

Кажется с помощью android:requestLegacyExternalStorage="true"

но лучше погугли.

И вообще в будущем возможно... Гугл зарежут прямой доступ к файлам и придется через медиа-запросы обращаться к файлам.

Скоро Гугл вообще будет заставлять переходить с Android на Fuchsia

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...